会话——session和cookie

什么是会话?

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。

常用的会话跟踪技术是Cookie与Session。

Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份。

session

session可实现页面之间数据共享

启动会话 :session_start()

存入会话 :$_SESSION['key'] = $value

读取会话 :$value = $_SESSION['key']

删除会话 :unset($_SESSION['key']) $_SESSION = array()

结束当前会话 :session_destory()

cookie

创建cookie :setcookie  ( string $name  [, string $value  [, int $expire  = 0  [, string $path  [, string $domain  [, bool $secure  = false  [, bool $httponly  = false  ]]]]]] )

读取cookie :$_COOKIE[key]

删除cookie :setcookie(key,value,time()-1)

session与cookie的区别

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能。考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:    

将登陆信息等重要信息存放为SESSION    

其他信息如果需要保留,可以放在COOKIE中

 connect_error){
	die('连接数据库失败');
}
$mysqli -> set_charset('utf8');

// //构建sql
// $sql = "SELECT * from `user` where user ='$user' and pwd='$pwd'";
// // echo $sql;
// // exit;
// $res = $mysqli -> query($sql);

// if($res -> num_rows == 0){
// 	show_error('输入的用户名或密码错误','login.html');
// }
// echo '输入的用户名和密码正确';

//参数化的sql
$sql = "SELECT * FROM `user` WHERE user=? and pwd=?";
if($stmt = $mysqli -> prepare($sql)){
	$stmt -> bind_param("ss",$user,$pwd);

	$stmt -> execute();
	$stmt -> store_result();
	if($stmt -> num_rows == 0){
		show_error('输入的用户名或密码错误','login.html');
	}
	$stmt -> close();
}
$mysqli -> close();

// echo '用户名和密码输入正确';
// $_SESSION['user'] = $user;
setcookie('user',$user,time()+3600);
show_success('登录成功,跳转中','index.php');

 

你可能感兴趣的:(会话——session和cookie)