get.php(判断登录状态):未登录显示登录注册选项,用户登陆后切换显示成昵称和注销选项
<?php include_once ("connect.php"); session_start();/*开启会话*/ if (isset($_SESSION['username'])){ /* 判断用户会话里用户名是否存在,即用户是否登录*/ $json['nc']=$_SESSION['nc'];/*把昵称存起来,一会返回给首页*/ $json['flag']=true;/*用户已经登录,标志flag为true*/ }else $json['flag']=false;/*用户已经登录,标志flag为true*/ echo json_encode($json);/*返回json*/regist.php(注册):根据设置标志flag的值判断注册的三种状态
<?php include_once ("connect.php"); $user=$_GET['username'];//获取表单提交的数据 $pwd=$_GET['pwd']; $repwd=$_GET['repwd']; $nc=$_GET['nc']; $row=$link->query("select * from `user` where username='$user'"); /*查询数据库中是否存在用户名相同的用户*/ if ($row->rowCount()){ $flag=1;/*存在用户名相同,即用户名冲突*/ }else if ($pwd!=$repwd){ $flag=2;/*两次密码不相同*/ }else{/*插入数据进数据库*/ $row=$link->exec("insert into`user`( `username`, `pwd`,`nc`) values ('$user','$pwd','$nc')"); session_start();/*打开会话,将用户名和昵称存起来*/ $_SESSION['username']=$user; $_SESSION['nc']=$nc; $flag=3;/*注册成功标志*/ } echo $flag;login.php(登录):根据标志flag判断登录操作是否成功或哪里出错
<?php include_once ("connect.php"); session_start();/*开启会话*/ $user=$_GET['username'];/*获取登录表单提交过来的数据*/ $pwd=$_GET['pwd']; $yzm=$_GET['yzm']; if($yzm==$_SESSION['vCode']){/*当用户输入的验证码和图片验证码相同时*/ $result=$link->query("select * from `user` where username='$user' and pwd='$pwd'"); $link = null; $row = $result->fetch();/*读取从数据库获取的数据*/ if ($row) {/*如果数据存在,即用户登录成功*/ $_SESSION['username'] = $row['username']; /*将用户名和昵称存在服务器,可以多个页面使用*/ $_SESSION['nc'] = $row['nc']; $flag=3; }else{/*用户名或密码错误*/ $flag=2; } }else{/*验证码输入错误*/ $flag=1; } echo $flag;logout.php(注销登录):直接销毁会话变量,然后get.php里面获取不到username和nc即判断用户已注销
<?php session_start(); unset($_SESSION['username']);//销毁用户名 unset($_SESSION['nc']);//销毁昵称 echo json_encode(true);//返回结果登录页面的自动生成验证码代码,在我的另一篇文里
https://www.cnblogs.com/xyyl/p/10901100.html