Sessioin+Cookie

1.cookie
$ret = setcookie(varname, varvalue, time() + n ) 时间单位秒。
如果设置失败,则返回false

如果想立即删除指定变量,则
$ret = setcookie(varname, “”, time() - n ) 将时间设置为负值。

读取变量 varname 的值
$val = $_COOKIE[varname];

2.Session
Session会针对每一次反问进行记录,当浏览器关闭,再次打开后,会启动一个新的session。

由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容。实际上在服务器端的 Session 文件,PHP 自动修改 Session 文件的权限,只保留了系统读和写权限,而且不能通过 ftp 修改,所以安全得多。session的使用方法
1)启动session,在各种session操作前,需要启动,一般在html的最上面设定。
<?php session_start(); ?>
<!doctype html>

<?php
$_SESSION[“count”] = $_SESSION["count"] + 1;
echo $_SESSION["count"];
?>

3.Session保持用户登录状态例子

登录页面

<?php
//表单提交后。。。
$posts = $_POST;

//清楚空白
foreach ( $posts as $key => $value )
{
	$posts[$key] = trim($value);
}

$password = md5($posts["password"]);
$username = $posts["username"];

$query = "SELECT 'username' FROM 'user' WHERE 'password'= '$password'";
$userinfo = $DB->getRow($query);

if(!empty($userinfo))
{
	session_start();
	$_SESSION["login"] = true;
}
else
{
	die("用户名密码错误"); //exit()函数的别名,退出本脚本
}
?>

需要验证session的页面

<?php
//退出登录操作,如果没有点击退出登录,在浏览器关闭也会自动session销毁
session_start();
unset($_SESSION["admin"]); //销毁一个变量
session_destroy(); //销毁整个session文件。
?>

4.Session+Cookie
Session 是如何来判断客户端用户的呢?它是通过 Session ID 来判断的,什么是 Session ID,就是那个 Session 文件的文件名,Session ID 是随机生成的,因此能保证唯一性和随机性,确保 Session 的安全。一般如果没有设置 Session 的生存周期,则 Session ID 存储在内存中,关闭浏览器后该 ID 自动注销,重新请求该页面后,重新注册一个 Session ID。

如果客户端没有禁用 Cookie,则 Cookie 在启动 Session 会话的时候扮演的是存储 Session ID 和 Session 生存期的角色。

我们来手动设置 Session 的生存期:

<?php
session_start(); 
// 保存一天 
$lifeTime = 24 * 3600; 
setcookie(session_name(), session_id(), time() + $lifeTime, "/"); 

?>

<完>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值