一 登录功能
1. 创建一个登录页面(login.php),包含一个表单,用户输入用户名和密码。
2. 在表单的提交事件中,使用PHP代码处理用户输入的用户名和密码。
3. 首先,连接MySQL数据库。然后,使用查询语句检查用户输入的用户名和密码是否匹配数据库中的记录。
4. 如果匹配成功,将用户ID和用户名存储在会话变量中,表示用户已登录。
5. 重定向用户到另一个页面,比如主页(home.php)。
示例代码:
// login.php
<?php
session_start();
// 处理表单提交事件
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// 获取用户输入的用户名和密码
$username = $_POST['username'];
$password = $_POST['password'];
// 连接MySQL数据库
$conn = mysqli_connect('数据库主机', '用户名', '密码', '数据库名');
// 查询用户名和密码是否匹配
$query = "SELECT * FROM users WHERE username='$username' AND password='$password'";
$result = mysqli_query($conn, $query);
if (mysqli_num_rows($result) > 0) {
// 匹配成功,将用户ID和用户名存储在会话变量中
$row = mysqli_fetch_assoc($result);
$_SESSION['user_id'] = $row['id'];
$_SESSION['username'] = $row['username'];
// 重定向用户到主页
header('Location: home.php');
exit();
} else {
// 匹配失败,显示错误消息
echo '用户名或密码错误';
}
// 关闭数据库连接
mysqli_close($conn);
}
?>
<!-- 登录页面表单 -->
<form method="POST" action="">
<input type="text" name="username" placeholder="用户名" required>
<input type="password" name="password" placeholder="密码" required>
<button type="submit">登录</button>
</form>
```
二、 退出功能
1. 创建一个退出页面(logout.php)。
2. 在该页面的代码中,删除当前会话中的用户ID和用户名。
3. 重定向用户到另一个页面,比如登录页面(login.php)。
示例代码:
// logout.php
<?php
session_start();
// 删除会话中的用户ID和用户名
unset($_SESSION['user_id']);
unset($_SESSION['username']);
// 重定向用户到登录页面
header('Location: login.php');
exit();
?>
三 客户身份确定
这里是指一个网站或应用程序的功能,包括登录、退出等,可以通过权限控制来实现。
1. 创建一个数据库表,用于存储用户信息和权限等级。表结构如下:
CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(255) NOT NULL,
role ENUM('admin', 'user') NOT NULL DEFAULT 'user'
);
2. 在登录功能的代码中,查询出用户的权限等级。
示例代码:
// login.php
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_assoc($result);
$_SESSION['user_id'] = $row['id'];
$_SESSION['username'] = $row['username'];
// 获取用户的权限等级
$role = $row['role'];
// 根据用户权限等级重定向到不同的页面
if ($role == 'admin') {
header('Location: admin.php');
exit();
} else {
header('Location: user.php');
exit();
}
}
3. 创建不同的页面(如admin.php和user.php),根据用户的权限等级来显示不同的内容或功能。
示例代码:
// admin.php
<?php
session_start();
// 检查用户是否登录
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit();
}
// 检查用户的权限等级
if ($_SESSION['role'] != 'admin') {
header('Location: user.php');
exit();
}
// 显示管理员功能
echo '欢迎管理员' . $_SESSION['username'];
// 其他管理员功能代码...
?>
// user.php
<?php
session_start();
// 检查用户是否登录
if (!isset($_SESSION['user_id'])) {
header('Location: login.php');
exit();
}
// 检查用户的权限等级
if ($_SESSION['role'] != 'user') {
header('Location: admin.php');
exit();
}
// 显示普通用户功能
echo '欢迎用户' . $_SESSION['username'];
// 其他用户功能代码...
?>
以上是一个简单的实现思路和示例代码,其中的数据库连接、查询和权限控制等可能还需要根据具体需求进行修改和完善。
四、 跳蚤市场登录模块
1. 效果
效果如下所示:
2. 登录
完整代码如下:
<?php
session_start(); //启动会话
include "conn.php"; //引入数据库文件
//获取数据
if(isset($_POST['nickname']) && isset($_POST['pwd'])){
//客户身份确定
$nickname=$_POST['nickname'];
$pwd=$_POST['pwd'];
$sql="select * from custom where nickname='".$nickname."'";
$result=$conn->query($sql);
if($result->num_rows==0){
echo "<script>alert('抱歉,你还不是我们的会员!请先注册')</script>";
echo "<script>location.href='register.php'</script>";
} else {
$row=$result->fetch_array();
if($pwd==$row['password']){
$_SESSION['nickname']=$row['nickname'];
$_SESSION['id']=$row['custom_id'];
$_SESSION['sex']=$row['sex'];
echo "<script>location.href='index.php'</script>";
} else {
echo "<script>alert('密码有误!');</script>";
echo "<script>location.href='login.php'</script>";
}
}
//关闭数据库连接
$conn->close();
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>我的登录页面</title>
<script>
function login(){
var nickname=document.loginform.nickname.value;
var pwd=document.loginform.pwd.value;
if(nickname==''){
alert('请输入呢称!');
return false;
}
if(pwd==''){
alert('请输入密码!');
return false;
}
return true;
}
</script>
<style>
a {
color:#00f;
text-decoration: none;
font-size:14px;
}
img {
border-width: 0px 0px 0px 0px;
}
#middle {
position: relative;
background-color: #cccccc;
}
#fm {
position: absolute;
top:100px;
left:150px;
}
#fm h1{
color:red;
}
#fm p{
color:blue;
}
#logintable {
background-color: #ffffff;
margin-right:40px;
}
#logintable h1{
color:red;
}
.input_label{
color:blue;
font-size:20px;
font-weight: bold;
padding-left:40px;
}
.input{
border:solid 1px blue;
font-size:16px;
height:30px;
width:240px;
}
.button{
background-color: blue;
color:white;
font-size:18px;
font-weight:bold;
height:30px;
width:240px;
border-width:0px;
}
</style>
</head>
<body>
<div align="center">
<iframe src='top.html' style='border:none;width:1020px; margin-bottom:-10px;'>
</iframe>
</div>
<div align="center">
<!--登录表单-->
<table width='1000' height='500' id='middle'>
<tr>
<td>
<div id='fm'>
<h1>省钱、省力、省时间</h1>
<p>限时抢购、特惠热卖、配送上门、满百包邮</p>
<img src='image\login.png' width='160' height='160' >
</div>
<table width='430' height='360' align='right' id='logintable'>
<form name='loginform' action='' method='post' onsubmit="return login()">
<caption><h1>跳蚤市场用户登录</h1></caption>
<tr height='20'>
<td colspan="3"></td>
</tr>
<tr>
<td><span class='input_label'>呢称</span></td>
<td colspan='2'><input type='text' name='nickname' class='input'></td>
</tr>
<tr>
<td><span class='input_label'>密码</span></td>
<td colspan='2'><input type='password' name='pwd' class='input'></td>
</tr>
<tr>
<td colspan='3' align='center'>
<input type='submit' value='登录' class='button'>
</td>
</tr>
<tr align='center'>
<td width="20%"><a href="index.php">首页</a></td>
<td><a href="logout.php">退出</a></td>
<td><a href="register.php">注册</a></td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</div>
<div align="center">
<iframe src='bottom.html' style='border:none;width:1020px; margin-bottom:-10px;'>
</div>
</body>
</html>
3. 头部
top.html 代码 如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>网站头部</title>
</head>
<style>
#top{
position: relative;
background-color:#ccc;
height:100px;
}
#title_1{
position:absolute;
top:10px;
left:200px;
color:red;
font-size:48px;
}
#title_2{
position:absolute;
top:10px;
left:400px;
color:red;
font-size:64px;
}
#title_3{
position:absolute;
top:10px;
left:600px;
color:red;
font-size:48px;
}
#title_4{
position:absolute;
top:10px;
left:800px;
color:red;
font-size:64px;
}
#login_reg{
height:100px;
text-align: right;
}
a {
font-size:16px;
text-decoration:none;
padding-right:20px;
}
</style>
<body>
<div id='top'>
<div id='login_reg'>
<a href='login.php' target='_parent'>登录</a>
<a href='register.php' target='_parent'>注册</a>
</div>
<span id='title_1'>跳</span>
<span id='title_2'>蚤</span>
<span id='title_3'>市</span>
<span id='title_4'>场</span>
<table width='980' align='center' border='0'>
<tr align="center">
<td><a href="index.php" target='_parent'>首页</a></td>
<td><a href="publish_sell.php" target='_parent'>发布出售信息</a></td>
<td><a href="publish_buy.php" target='_parent'>发布求购信息</a></td>
<td><a href="product.php" target='_parent'>商品管理</a></td>
<td><a href="shopping_cart.php" target='_parent'>我的购物车</a></td>
</tr>
</table>
</div>
</body>
</html>
4 . 底部
bottom.html 代码如下所:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>网站底部</title>
<style>
#bottom{
background-color:#ccc;
padding:20px;
color:blue;
font-size:16px;
}
.footer-a{
padding-left:30px;
}
</style>
</head>
<body>
<div id='bottom'>
<div align='center' id=''>
<span class='footer-a'>我要投诉</span>
<span class='footer-a'>|</span>
<span class='footer-a'>联系我们</span>
<span class='footer-a'>|</span>
<span class='footer-a'>版权所有</span>
</div>
<p align='center'>制作者:***,制作日期:2023年11月15日</p>
</div>
</body>
</html>
5. 退出
logout.php 代码如下:
<?php
session_start();
session_destroy();
echo "<script>location.href='index.php'</script>";
?>