PHP入门教程之会话控制技巧(cookie与session)
作者:onestopweb 发布时间:2023-11-16 00:13:39
标签:PHP,会话控制,cookie,session
本文实例讲述了PHP会话控制技巧。分享给大家供大家参考,具体如下:
Demo1.php
<form method="get" action="Demo2.php">
姓名:<input type="text" name="username" /> <br />
<input type="submit" value="提交" />
</form>
Demo2.php
<?php
//echo $_POST['username'];
//如果表单采用的 get 传输,那么接受必须采用
echo $_GET['username'];
//到底那种比较好呢。????
//$_POST['']; 比较安全
?>
Demo3.php
<?php
//创建一个 Cookie
//Cookie 是在你的客户机存一个小文件,这个文件包含你登录时的信息
//setcookie 可以创建一个客户机的 cookie 文件
//第一个参数表示 cookie 的名称,第二个参数表示这个 cookie 名称的值
//所谓的会话结束时,就是当你这个浏览器关闭时,就没有了,就自动删除
//创建一个包含过期的 cookie, 过期时间采用当前的时间戳 + 秒即可
//time()+(7*24*60*60) 表示未来的7 天
//一旦 setcookie 改变了,一刷新浏览器,就会把旧的 cookie 覆盖掉
setcookie('name','oneStopWeb',time()+(7*24*60*60));
?>
Demo4.php
<?php
setcookie('name','oneStopWeb');
//读取本机的 cookie,采用一个超级全局变量 $_COOKIE
//里面放 cookie 名即可
//有一个特性,setcookie 并不是及时生成,它会慢一拍
//PS:慢一拍,第一次刷新,只是生成覆盖了原来。
//但获取的还是之前的,而第二次刷新,才能真正获取到。
//echo $_COOKIE['name'];
//用变量检测函数来判断 cookie 是否存在
if(isset($_COOKIE['name'])){
echo $_COOKIE['name'];
}else{
echo '不存在此用户';
}
?>
Demo5.php
<?php
//删除 cookie
setcookie('name','oneStopWeb');
//中间删除掉了这个 cookie
//将这个值设置为空即可
//setcookie('name','');
//我将过期时间调整到目前的时间还少一秒,那么就等于是过期的了
setcookie('name','oneStopWeb',time()-1);
echo $_COOKIE['name'];
?>
Demo6.php
<form method="post" action="Demo7.php">
姓名:<input type="text" name="username" /> <br />
<input type="submit" value="提交" />
</form>
Demo7.php
<?php
//如果姓名的指定的姓名相同,那么就生成一个 cookie
//完成登录
if(isset($_POST['username']) && $_POST['username']=='oneStopWeb'){
//如果正确了,我生成一个 cookie,再跳转
setcookie('name','web');
header('Location:Demo8.php');
}else{
header('Location:Demo6.php');
}
?>
Demo8.php
<?php
if(isset($_COOKIE['name'])){
echo '欢迎光临:'.$_COOKIE['name'];
}else {
echo '非法登录';
}
?>
Demo9.php
<?php
session_start(); //开户 session 会话处理
//session 只要用到这个,就必须开启session_start()
//放在文件开头
//创建 session ,直接采用超级全局变量赋值即可
//session 是存在服务器端,一般存放 1440 秒,
//如果网页没有任何操作,会自动销毁,当然,可以通过 php.ini 去修改保存时间
//如果关闭了浏览器,那么也自动销毁。
//及时性,不像 cookie 会慢半拍
$_SESSION['name1'] = 'oneStopWeb';
$_SESSION['name2'] = 'oneStopWeb';
//echo $_SESSION['name'];
// if(isset($_SESSION['name'])){
// echo $_SESSION['name'];
// }else{
// echo '不存在此人。';
// }
//不是删除的方法
// $_SESSION['name'] = '';
//真正的删除方法
//unset($_SESSION['name']);
// if(isset($_SESSION['name'])){
// echo $_SESSION['name'];
// }else{
// echo '不存在此人。';
// }
?>
Demo10.php
<?php
session_start();
//销毁所有 session ,销毁的也慢半拍
session_destroy();
echo $_SESSION['name1'] ;
echo $_SESSION['name2'] ;
//cookie适用于会员登录,购物车啊。。。
//因为他不占用服务器资源,所以会员特别多,购物车特别多的,就用 cookie
//session 一般用于后台管理登录,人少
//安全性,一段时间不操作会自动过期
?>
希望本文所述对大家PHP程序设计有所帮助。


猜你喜欢
- 有几个原因促使我们使用自定义的select控件来代替原生的select控件:在ie6下select是一个窗口级的元素,绝对定位的层会被sel
- 用wdcp官方提供的脚本安装lnamp环境,安装请参考:http://www.wdlinux.cn/bbs/thread-6292-1-1.
- 【基本介绍】【格式】:pivot(聚合函数 for 需要转为列的字段名 in(需要转为列的字段值))【说明】:实现将指定字段的字段值转换为列
- 本文实例讲述了Python模块的定义,模块的导入,__name__用法。分享给大家供大家参考,具体如下:相关内容:什么是模块模块的导入同级目
- 长话短说,看这个 form 元素:<form method="post" action=&qu
- 这个是我在蓝色看到的,楼主想实现图片按比例缩放的功能(缩略图),把图片固定在一定的宽高范围内,不会变形,失真。例如:缩略图的框是94px*9
- asp抓取网页。偶要实现实实更新天气预报。利用了XMLHTTP组件,抓取网页的指定部分。很多小偷查询都是使用这个方法来实现的。需要分件htm
- QQ影音新版发布官网Banner经过两周的酝酿、脑爆与设计调整,于20日顺利上线,连续7天,经历了昨天激动人心的最后发布,到此告一段落,这里
- 零、本讲学习目标了解面向对象编程思想掌握类和对象的定义和使用了解Python中的对象一、面向对象(一)程序员“面向对象”在现实世界中存在各种
- 随着网络的发展,网速和机器速度的提高,越来越多的网站用到了丰富客户端技术。而现在Ajax则是最为流行的一种方式。JavaScript是一种解
- 很久没有跟其他人做重构思想方面的交流了,可能大家都觉得不太好意思讨论,特别是“分离”的思想这么基础的话题,拿出来说怕会被“笑话”。做为页面重
- 正在看的ORACLE教程是:Oracle数据库集复制方法浅议。前言 日益增长的分布式应用需求要求实现更好分布式的软件环境,不断推动着分布式技
- Go本地测试的思路我习惯在开发过程中及时测试自己开发的功能模块,这样能及时发现问题,节省后期功能耦合之后,debug的时间。为了统一管理要测
- SOLyog的下载、安装以及使用很简单。我去了相关网站下载,它只有384K字节大小。它把两个文件(一个可执行文件.exe和一个动态链接库文件
- 一、前言 JDK(Java Development Kit )是一切java应用程序的基础,可以说,所有的java应用程序是构建
- SQL Server查询速度慢的原因有很,常见的有以下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/
- 关于段落<p></p>相信大家已经都在自己的工作中开始关注并应用了。因为那真的是非常简单的事,只要你愿意你随时都可以
- 本文实例讲述了JS实现合并json对象的方法。分享给大家供大家参考,具体如下:一、问题:求json对象合并的方法var a ={"
- 内容摘要: 网页的色彩搭配往往是网友们感到头疼的问题,尤其是那些完全没有美术基础的网友。到底用
- 如何用ASP发送带附件的邮件?请问如何用CDONTS组件发送带附件的邮件? 见下列代码:<%&nb