当前位置:Gxlcms > PHP教程 > php之cookie对话控制

php之cookie对话控制

时间:2021-07-01 10:21:17 帮助过:7人阅读

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.php

comm.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 "用户名密码有误";    }?>			用户登录						

用户登录

用户名
密码


















人气教程排行