PHP cookie实现注册登录功能

首先我们理一下思路,注册登录需要的模块数量:
第一 数据库连接
第二 登录界面
第三 登陆处理
第四 注册界面
第五 注册处理
第六 主界面
第七 注销处理

那么我们开始吧。(没有什么难度的我就直接上代码)

数据库连接
<?php
$sql_server_name='127.0.0.1';//服务器地址
$sql_user_name='root';//数据库用户名
$sql_user_pwd='123456';//数据库密码
$sql_database_name='mydb';//连接的数据库
$conn =mysqli_connect($sql_server_name,$sql_user_name,$sql_user_pwd,$sql_database_name) ;
if($conn->connect_error){
    die("连接失败:".$conn->connect_error);
}
mysqli_set_charset($conn,'utf8');
?>
登陆界面

主界面包括登录的用户名,密码,登录按钮,注册跳转,自动登录复选框。
同时为了可以实现自动登录加入php语句判断cookie是否存在。

<?php 
if(isset($_COOKIE['user'])){
    echo "<script>
        location.href='index.php';
    </script>";
}
?>
<html>
<head>
<title>
登录
</title>
</head>
<body>
<a href="http://localhost/text1_Conversation/login.php" style="text-decoration:none">返回首页</a>
<a href="http://localhost/text1_Conversation/register.php" style="text-decoration:none">注册</a>
<form method="post" action="deallog.php">
<p> 用户: <input type="text" name="user"></p>
<p>密码:<input type="password" name="pwd"></p>
<p><input type="checkbox" name = "issave">是否保存七天账号密码</p>
<input type="submit" value="登录">
</form>
</body>
</html>
登录处理

需要判断用户名和密码数据库中是否存在,若存在则登陆成功,同时判断复选框是否选取,若选取则还需要将用户名加入cookie,若数据库中不存在该用户名密码,则提醒注册。

<?php
include 'sql_config.php';
$name = $_POST["user"];
$pwd = $_POST["pwd"];
$issave = $_POST["issave"];
$sql = "select username from customer where username='$name' and pwd='$pwd'";
$result=mysqli_query($conn, $sql);
if($result->num_rows==1){
    if($issave){
       setcookie("user", "$name", time()+60*60*24*7);
    }
    echo "<script> alert('登录成功')</script>";
    header("Refresh:0.0001;url=index.php");
    exit();
}else{
    header("Refresh:0.0001;url=login.php");
    echo "<script> alert('登录失败')</script>";
    exit();
}
?>
注册界面
<html>
<head>
<title>注册</title>
</head>
<body>
<h1>注册</h1>
<a href='login.php' style="text-decoration:none">返回登录</a>
<a href='index.php' style="text-decoration:none">主界面</a>
<form method="post" action="dealrig.php">
<p>用户:<input type="text" name="user"></p>
<p>密码:<input type="password" name = "pwd"></p>
<p>e-mail:<input type="text" name="email"></p>
<input type="submit" value="注册" name ="zc">
</form>
</body>
</html>
判断注册
<?php
include_once  'sql_config.php';
if($_POST["user"]&&$_POST["pwd"]&&$_POST["email"]){
    $user=$_POST['user'];
    $pass=$_POST['pwd'];
    $email=$_POST['email'];
    $sqlsel1="select username from customer where username='$user'";
    $sqlsel2=" select id from customer  order by id desc ; ";
    $result2 = mysqli_query($conn,$sqlsel2);
    $row = mysqli_fetch_row($result2);
    $id= $row[0]+1;
    $result1=mysqli_query($conn, $sqlsel1);
    //如果用户名没有重复
    if($result1->num_rows==0){
        $sqlinsert="INSERT into student (id,username,pwd,email)
    VALUES ('$id','$user','$pass',$email)";
        header("Refresh:0.0001;url=login.php");
        echo "<script> alert('注册成功')</script>";
        exit();
    }//如果用户名已经存在
    else{
    echo "<script> alert('该用户已存在')</script>";
    header("Location: register.php");    //刷新当前页面
    exit();
}}
?>
主界面
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<?php
if (isset($_COOKIE["user"]))
echo "欢迎 " . $_COOKIE["user"] . ",访问本网站,由于您保存过密码,所以在七天内的登录不需要重新输入密码!<br>";
else
echo "欢迎您,访问本网站由于您未保存密码,所以在下次登录时仍然需要输入账号密码!<br>";
?>
<br>
<a href="exec.php" style="text-decoration:none">注销用户</a>
</body>
</html>
注销处理

也就是删除cookie

<?php
setcookie('user','',time()-1);
echo "<script> alert('注销成功')</script>";
header("Refresh:0.0001;url=login.php");
exit();
?>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值