php之cookie会话控制 通过cookie将用户资料记录在客户端而不需要每次都从服务器调用,这样能提高网页效率,降低服务器的压力 下面的例子模拟一个登录界面的操作,使用cookie的调用 界面显示(未进行美化) 根目录下创建需要的文件 index.php中,首先写出如图的表格形式输出 用户登录 登入後複製 用户登录 用户名 密码 因为要连接数据库,并调用数据库的数据,创建数据库并创建一个数据库调用的文件 创建一个users的表,并插入数据,这里数据插入信息包括用户名、密码和权限 在根目录下创建 conn.inc.php 用于存放数据库连接 conn.inc.php 登入後複製login.php 中包含连接数据库,使用mysqli方法,密码使用 md5() 方法加密query($sql); //保存数据 if($result->num_rows > 0){ $row=$result->fetch_assoc(); $time=time()*1800; setCookie("username", $_POST["name"],$time); setCookie("uid", $row["id"],$time); setCookie("isLogin",1); header("Location:index.php"); //跳转界面 } echo "用户名密码有误"; }?>登入後複製注意cookie保存数据时需要表明数据保存的时长,保存数据中返回 “username”,“uid”,“isLogin"index.php 中涉及页面跳转,创建一个公共的跳转页面的类 comm.phpcomm.php:如果传回的是 “isLogin” 就进行跳转登入後複製登录成功后跳转到 index.php 页面下,登录不成功就返回重新登录index.php 包含 conn.inc.php 和 comm.php".$_COOKIE["username"]."你好!这是网站首页"; echo "你的权限如下:"; $sql="select allow_1,allow_2,allow_3,allow_4 from users where id='{$_COOKIE["uid"]}'"; $result=$mysqli->query($sql); $user=$result->fetch_assoc(); if($user["allow_1"]){ echo "111111111111"; } if($user["allow_2"]){ echo "222222222222"; } if($user["allow_3"]){ echo "333333333333"; } if($user["allow_4"]){ echo "444444444444"; } ?> 第二页 第三页 退出登入後複製最后第二页、第三页的写法跟 index.php 一样登出 logout.php 需要注销用户信息重新登录登入後複製完整代码:login.php:query($sql); //保存数据 if($result->num_rows > 0){ $row=$result->fetch_assoc(); $time=time()*1800; setCookie("username", $_POST["name"],$time); setCookie("uid", $row["id"],$time); setCookie("isLogin",1); header("Location:index.php"); //跳转界面 } echo "用户名密码有误"; }?> 用户登录 登入後複製 用户登录 用户名 密码