注册、注销与结束session变量

注册一个session变量
<?php
	session_start();
	
	$_SESSION['var'] = "Hello World";
	
	echo $_SESSION['var'];
?>

注册的session变量是一个超级全局变量。在后续的页面中只要调用函数session_start();都可以访问这个变量。

注销一个session变量
<?php
	session_start();
	
	echo $_SESSION['var']."<BR>";
	
	unset($_SESSION['var']);
	
	echo "这句话后面不显示东西的话就说明session变量已经注销了".$_SESSION['var'];
?>

当注销了该变量之后,session仍然存在,但是变量$_SESSION['var']不再是一个注册变量。

销毁一个session变量
<?php
	session_start();
	
	echo $_SESSION['var'];
	
	session_destory();
	
	echo "这句话后面不显示东西的话就说明session变量已经销毁了".$_SESSION['var'];
?>

变量$_SESSION['var'] 销毁之后,我们已经无法访问该变量了。

转载于:https://my.oschina.net/kisscucci/blog/14994

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会根据你的要求回答你的问题。首先,关于 PHP 中利用 Session 判断用户的访问权限,以下是三个功能的实现方法: 一、设置和获取 Session 变量信息 要在 PHP 中设置和获取 Session 变量信息,可以使用 $_SESSION 超全局变量。具体实现方法如下: // 设置 Session 变量 session_start(); // 开启 Session $_SESSION['username'] = 'John'; // 设置 Session 变量 username 的值为 John // 获取 Session 变量 session_start(); // 开启 Session echo $_SESSION['username']; // 输出 Session 变量 username 的值,即 John 在设置和获取 Session 变量之前,需要先开启 Session,否则无法使用 $_SESSION 变量。 二、利用 Session 限制未登录用户访问的程序 要实现利用 Session 限制未登录用户访问的程序,可以在需要判断用户是否登录的页面中添加如下代码: session_start(); // 开启 Session if (!isset($_SESSION['username'])) { // 如果 Session 变量 username 不存在,说明用户未登录 header('Location: login.php'); // 跳转到登录页面 exit; // 结束脚本执行 } 其中,login.php 是登录页面的文件名,可以根据实际情况进行修改。 三、通过删除 Session 实现用户注销功能的程序 要实现通过删除 Session 实现用户注销功能的程序,可以在注销按钮的点击事件中添加如下代码: session_start(); // 开启 Session unset($_SESSION['username']); // 删除 Session 变量 username header('Location: index.php'); // 跳转到首页 exit; // 结束脚本执行 其中,index.php 是首页的文件名,可以根据实际情况进行修改。 四、创建和修改 Cookie 变量 要在 PHP 中创建和修改 Cookie 变量,可以使用 setcookie() 函数。具体实现方法如下: // 创建 Cookie 变量 setcookie('username', 'John', time()+3600); // 创建名为 username 的 Cookie 变量,值为 John,过期时间为 1 小时后 // 修改 Cookie 变量 setcookie('username', 'Mary', time()+3600); // 修改名为 username 的 Cookie 变量的值为 Mary,过期时间为 1 小时后 在设置 Cookie 变量时,需要指定变量名、变量值和过期时间等参数。 五、利用 Cookie 实现用户登录的程序 要实现利用 Cookie 实现用户登录的程序,可以在登录成功后创建一个名为 username 的 Cookie 变量,值为用户名,过期时间为一定时间后。在需要判断用户是否登录的页面中,可以使用 isset() 函数判断 Cookie 变量是否存在。具体实现方法如下: // 登录成功后创建 Cookie 变量 setcookie('username', 'John', time()+3600); // 创建名为 username 的 Cookie 变量,值为 John,过期时间为 1 小时后 // 判断用户是否登录 if (!isset($_COOKIE['username'])) { // 如果 Cookie 变量 username 不存在,说明用户未登录 header('Location: login.php'); // 跳转到登录页面 exit; // 结束脚本执行 } 其中,login.php 是登录页面的文件名,可以根据实际情况进行修改。 六、利用 Cookie 记录用户浏览路径的程序 要实现利用 Cookie 记录用户浏览路径的程序,可以在每次页面加载时将当前页面的 URL 添加到一个名为 history 的 Cookie 变量中,使用 implode() 函数将 history 变量中的 URL 以逗号分隔的形式输出即可。具体实现方法如下: // 将当前页面的 URL 添加到 history 变量中 if (isset($_COOKIE['history'])) { $history = explode(',', $_COOKIE['history']); // 将 history 变量中的 URL 以逗号分隔的形式转换成数组 array_push($history, $_SERVER['REQUEST_URI']); // 将当前页面的 URL 添加到数组末尾 while (count($history) > 5) { array_shift($history); // 如果数组长度超过 5,删除数组开头的元素 } setcookie('history', implode(',', $history), time()+3600); // 将修改后的 history 数组以逗号分隔的形式存入 Cookie 变量中 } else { setcookie('history', $_SERVER['REQUEST_URI'], time()+3600); // 如果 history 变量不存在,直接将当前页面的 URL 存入 Cookie 变量中 } // 输出浏览历史记录 if (isset($_COOKIE['history'])) { $history = explode(',', $_COOKIE['history']); // 将 history 变量中的 URL 以逗号分隔的形式转换成数组 foreach ($history as $url) { echo "<a href="$url">$url</a><br>"; // 输出每个 URL } } 其中,将浏览历史记录存储在 Cookie 变量中时,需要限制历史记录的长度不超过 5 条,可以使用 array_push() 和 array_shift() 函数实现。 七、验证码程序 要实现验证码程序,可以使用 PHP 中的 GD 库生成验证码图片,并将验证码存储在 Session 或 Cookie 中。具体实现方法如下: // 生成验证码图片 session_start(); // 开启 Session $code = ''; // 用于存储验证码的变量 $width = 100; // 验证码图片的宽度 $height = 40; // 验证码图片的高度 $image = imagecreate($width, $height); // 创建一个指定宽度和高度的空白画布 $bg_color = imagecolorallocate($image, 255, 255, 255); // 设置画布的背景颜色为白色 $font_color = imagecolorallocate($image, 0, 0, 0); // 设置画布的文本颜色为黑色 $font_size = 20; // 设置画布的字体大小 $char_arr = array_merge(range(0, 9), range('a', 'z'), range('A', 'Z')); // 候选字符集,包括数字、小写字母和大写字母 for ($i = 0; $i < 4; $i++) { $char = $char_arr[array_rand($char_arr)]; // 随机选择一个字符 $code .= $char; // 将字符添加到验证码中 $x = ($width/4)*$i + 10; // 计算字符的 x 坐标 $y = mt_rand(15, $height-15); // 计算字符的 y 坐标 imagettftext($image, $font_size, mt_rand(-30, 30), $x, $y, $font_color, 'arial.ttf', $char); // 在画布上绘制字符 } $_SESSION['code'] = $code; // 将验证码存储在 Session 变量中 header('Content-Type: image/png'); // 设置输出格式为 PNG 图片 imagepng($image); // 输出验证码图片 imagedestroy($image); // 销毁画布对象 在生成验证码图片时,需要使用 GD 库提供的 imagettftext() 函数绘制字符,并将绘制好的验证码存储在 Session 变量中。 验证提交数据时,可以从 Session 或 Cookie 中读取验证码,与用户输入的验证码进行比较,判断验证码是否正确。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值