- 浏览: 831536 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
xieye:
jetty插件有好几个版本,1.6,1.7,1.8
我选的是用 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
还有,
注:第2部分时,需要先安装jetty,我自己在安装过程 ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
说明一下:实际使用中,导入时我并没有错误。2、我把eclips ...
tapestry入门(翻译)3 导入项目到eclipse -
xieye:
其实还是有一些先决条件的。1是外部环境,2是进步是阶段性的(意 ...
(转载文章)如何愉悦起来:一位精神治疗师的见解 -
mandy_yanzi:
我都已经饿7天了坚持为了我的衣衣
身体健康的问题
php基础知识-cookie使用
示例代码下载页http://xieye.iteye.com/blog/1336095(在附件)
cookie简单定义:浏览器发送请求给服务器时额外传送的数据。
cookie原理:web协议规定,服务器返回请求时可以将一小部分数据存在浏览器客户端,浏览器在下次往同域名服务器请求信息时,会
同时自动把该段信息再发送给服务器,而这一切是对用户透明的,用户不需要理解这些东西可以照常上网。
cookie的一个特点是,服务器存客户端时可以带有时间参数,浏览器会根据这个参数决定cookie是否过期来处理,如果过期了,这个cookie就
不会到服务端。
假如服务端不对cookie做处理,则每次浏览器发送请求到服务端总会自动传送相同内容的cookie。
cookie的另一个特点是多个名称和值的组合。
例子:自动登录。
有3个页面,一个首页,一个是登录页
必须先添加一个用户
insert into test.member(username,password)values('admin', md5('1') );
9.php,10.php,11quit.php 是没有自动登录的例子。
19.php,20.php,21quit.php 是自动登录的例子。
演示
首先是一个普通的登录例子
http://localhost/command/peixun/cookie/9.php,提示登录
进入10.php,输入admin,1则跳转到9.php,显示出当前用户名,如果愿意可以退出。
如果没有点击“退出”按钮,则直接关闭浏览器,再打开浏览器输入http://localhost/command/peixun/cookie/9.php,发现并没有处于登录状态。
然后是一个通过cookie的自动登录例子。
http://localhost/command/peixun/cookie/19.php,提示登录
进入10.php发现多了一个复选框,不勾选的情况下和上面的例子效果完全一样,输入admin,1则跳转到19.php,显示出当前用户名,如果愿意可以退出。
如果勾选后输入admin,1则跳转到19.php,此时不能点击“退出”链接,直接关闭浏览器。
双击桌面的浏览器图标再次打开浏览器,发现处于已登录状态,这就是cookie的效果。
重要说明:本例子只用于演示cookie的用法,实际应用中为安全起见,最好隐藏cooikie的字段含义,程序也因此需要做修改。
代码可下载,只显示第2个例子的代码
19.php
20.php
21quit.php
示例代码下载页http://xieye.iteye.com/blog/1336095(在附件)
cookie简单定义:浏览器发送请求给服务器时额外传送的数据。
cookie原理:web协议规定,服务器返回请求时可以将一小部分数据存在浏览器客户端,浏览器在下次往同域名服务器请求信息时,会
同时自动把该段信息再发送给服务器,而这一切是对用户透明的,用户不需要理解这些东西可以照常上网。
cookie的一个特点是,服务器存客户端时可以带有时间参数,浏览器会根据这个参数决定cookie是否过期来处理,如果过期了,这个cookie就
不会到服务端。
假如服务端不对cookie做处理,则每次浏览器发送请求到服务端总会自动传送相同内容的cookie。
cookie的另一个特点是多个名称和值的组合。
例子:自动登录。
有3个页面,一个首页,一个是登录页
必须先添加一个用户
insert into test.member(username,password)values('admin', md5('1') );
9.php,10.php,11quit.php 是没有自动登录的例子。
19.php,20.php,21quit.php 是自动登录的例子。
演示
首先是一个普通的登录例子
http://localhost/command/peixun/cookie/9.php,提示登录
进入10.php,输入admin,1则跳转到9.php,显示出当前用户名,如果愿意可以退出。
如果没有点击“退出”按钮,则直接关闭浏览器,再打开浏览器输入http://localhost/command/peixun/cookie/9.php,发现并没有处于登录状态。
然后是一个通过cookie的自动登录例子。
http://localhost/command/peixun/cookie/19.php,提示登录
进入10.php发现多了一个复选框,不勾选的情况下和上面的例子效果完全一样,输入admin,1则跳转到19.php,显示出当前用户名,如果愿意可以退出。
如果勾选后输入admin,1则跳转到19.php,此时不能点击“退出”链接,直接关闭浏览器。
双击桌面的浏览器图标再次打开浏览器,发现处于已登录状态,这就是cookie的效果。
重要说明:本例子只用于演示cookie的用法,实际应用中为安全起见,最好隐藏cooikie的字段含义,程序也因此需要做修改。
代码可下载,只显示第2个例子的代码
19.php
<?php //会话的第2个例子,首页 //9.php,简单例子,首页 //10.php,简单例子,登录页 //11quit.php,简单例子,退出页 //19.php, 复杂例子,首页 //20.php, 复杂例子,登录页 //21quit.php, 复杂例子,退出页 require_once('../Public/CommandLine.php'); session_start(); //逻辑是如果未登录,则显示“请登录”,如果已登录,显示欢迎某某某 $html = ''; if (isset($_SESSION['islogin']) && $_SESSION['islogin'] == 1 ) { //已登录 $html .= '欢迎您,' . $_SESSION['username'] . " <a href='11quit.php'>退出</a>"; } else { //未登录分:有cookie的记住我,且为1 if (isset($_COOKIE['rememberme']) && $_COOKIE['rememberme']==1 ) { $username = strval($_COOKIE['username']); $password = strval($_COOKIE['password']); $db = Sys::getdb(); $select = $db->select(); $select->from('test.member', 'count(*)' ) ->where('username=?', $username) ->where('password=?', $password); $result = $db->fetchOne($select); if ($result) { //如果是对的 $_SESSION['islogin'] = 1; $_SESSION['username'] = $username; $html .= '欢迎您,' . $_SESSION['username'] . " <a href='21quit.php'>退出</a>"; } } } if(!( isset($_SESSION['islogin']) && $_SESSION['islogin'] == 1 ) ){ $html .= '<a href="20.php">请登录</a>'; } $html .= "<br><h1>这是首页<h1>"; echo $html;
20.php
<?php //自动登录的登录页 require_once('../Public/CommandLine.php'); session_start(); $isget = ($_SERVER['REQUEST_METHOD'] == 'GET') ? 1 : 0; if ($isget) { $html = <<<longs <html> <body> <form method="post"> 请输入用户名:<input type="text" name="username" value=''><br> 请输入密码:<input type="text" name="password" value=''><br> <input type="checkbox" name="rememberme" value="1" />下次自动登录<br> <input type="submit" value="登录" > </form> </body> </html> longs; echo $html; } else { //echo $_POST['name1']; $username = $_POST['username']; $password = $_POST['password']; $db = Sys::getdb(); $select = $db->select(); $select->from('test.member', 'count(*)' ) ->where('username=?', $username) ->where('password=?', md5($password)); $result = $db->fetchOne($select); if ($result) { $_SESSION['islogin'] = 1; $_SESSION['username'] = $username; $time = time() + 3600 * 24 * 365; setcookie('rememberme', intval($_POST['rememberme']), $time, "/"); setcookie('password', md5($password), $time, "/"); setcookie('username', $username, $time, "/"); header('Location: 19.php'); }else { $html = <<<longs <html> <body> 请输入正确的用户名和密码 <form method="post"> 请输入用户名:<input type="text" name="username" value='{$username}'><br> 请输入密码:<input type="text" name="password" value='{$password}'><br> <input type="checkbox" name="rememberme" value="1" />下次自动登录<br> <input type="submit" value="登录" > </form> </body> </html> longs; echo $html; } }
21quit.php
<?php //第2个例子,自动登录的退出页 require_once('../Public/CommandLine.php'); session_start(); $_SESSION['islogin'] =0; $date = time() - 3600 * 24 * 365; foreach($_COOKIE as $key => $ko){ if ($key != 'PHPSESSID') { setcookie($key, "", $date, "/"); //删除cookie的写法 } } header('Location: 19.php');
发表评论
-
召唤神龙 - 安装 centos 8, php 8, mysql 8, laravel 8 的整套 php 运行环境
2020-11-27 16:26 680本文编写时间:2020-11-27 传说集齐龙珠可以召唤神 ... -
centos8 使用阿里镜像快速安装php7.4套件
2020-11-15 00:48 815centos8 使用阿里镜像快速安装php7.4套件 本文只 ... -
centos7 使用阿里镜像快速安装php7.4套件
2020-11-15 00:32 1225本文只考虑centos7 今日 2020-11-16 rem ... -
composer常用命令
2020-11-05 14:46 1449列出当前全局配置 composer config -l -g ... -
期待centos8+php8 + mysql8 + laravel8,8888
2020-10-29 19:24 493期待centos8+php8 + mysql8 目前主要使用 ... -
ubuntu 安装 php7.4以及各类插件
2020-10-24 13:20 1095ubuntu 安装 php7.4以及各类插件 安装系统 最近 ... -
宝塔定义站点
2020-02-24 10:41 2宝塔定义站点。 1111111111111111111111 ... -
让php-fpm以root账号运行
2020-02-19 21:41 814一般来说,我们没有这种需求,但是当需要时, 可以让php-fp ... -
将代码部署到coding.net
2020-01-10 14:20 635coding.net 是一个git仓库,有免费有收费。 首先 ... -
php部署工具deployer技巧 - vendor目录创建
2020-01-06 12:06 893deployer是个好东西,可是每次都composer ,其实 ... -
自定义redis多个实例
2020-01-04 01:17 646假如多个项目部署到同一台服务器,有时会被redis的各项目前缀 ... -
推荐使用php的部署工具 deployer
2020-01-03 16:48 882php部署代码可以使用 https://deployer.or ... -
使用composer 类库 cachetool 清除opcache 的缓存
2020-01-03 16:38 963php的生产服务器上,需要把opche打开。 但有时,会被缓 ... -
laravel容器学习体会
2019-12-31 15:11 658根据文档与实测结果 假设我在app下建一个Services目 ... -
phalcon 自定义超强日志类
2019-12-18 10:00 829phalcon自带的日志文件类,有两个麻烦之处。 1、路径不能 ... -
自定义后台的使用
2019-12-18 05:22 424如果自己写后台,保存用户的表单请求值 所有的情况如下: 1 ... -
phalcon 自定义事件使用的多种方式
2019-12-16 20:43 779方法1:官方文档的方式。 这是控制器: public ... -
phalcon对控制器返回值的使用以输出json
2019-12-16 19:17 820在phalcon里,控制器的Action的方法的返回值没啥用。 ... -
phalcon数据库DB使用实例
2019-12-12 17:12 697整理了一下phalcon的db使用,写了个demo。 ... -
php-redis5.0降级成php-redis4.3
2019-08-22 00:01 891最新版本的php的redis插件,版本是5.0 但是可能会有 ...
相关推荐
在PHP编程中,Cookie是一种常见的身份验证机制,用于在客户端(浏览器)和服务器之间...了解这些基础知识后,你可以根据提供的源代码学习和理解实际的实现细节,并可能进一步优化和增强这个简单的Cookie身份验证机制。
以上只是PHP基础知识的冰山一角,深入学习还包括错误处理、性能优化、框架使用等内容。希望这个“零基础学习PHP-从零开始学习PHP-PHP基础教程”能助你在PHP学习之路上一臂之力,让你逐步成为PHP开发的专家。
根据提供的文件内容,这里将对相关的PHP基础知识进行详细的解析,以帮助理解这些概念和技术要点。 ### 1. mysql_connect()与@mysql_connect()的区别 **知识点解析:** - **mysql_connect()**: 这是一个用于建立...
下面我们将详细讨论如何使用`header()`函数发送Cookie以及相关的知识点。 首先,让我们来看一下提供的代码片段: ```php header("Set-Cookie: testcookie=中文; path=/; domain=.phpv.net; expires=" . gmstrftime...
- 学习PHP的基础知识和发展历程有助于理解语言设计背后的逻辑。 2. **选择合适的学习资源**: - **在线教程**:适合初学者,能够快速上手。 - **视频课程**:提供更多实践操作指导。 - **书籍**:系统性更强,...
"php基础知识树形图"提供了这样一种直观的学习工具,它以树状结构清晰地展现了PHP知识体系的关键组成部分。 首先,我们从标题"php基础知识树形图"可以推测,这个树形图会包括以下几个主要部分: 1. **PHP简介**:...
根据提供的文档信息,这里将对几个关键的知识点进行详细的解释和扩展。 ### 1. `mysql_connect()`与`@mysql_connect()`的区别 - **`mysql_connect()`**: 这...希望这些内容能够帮助您更好地理解和掌握PHP的基础知识。
标题:“PHP基础知识一张纸”揭示了PHP编程语言的核心概念与常用函数,旨在为开发者提供一个简洁而全面的参考指南。这份“一张纸”的资源聚焦于PHP的基础知识点,涵盖了数组、日期时间、文件系统、网络、数学操作、...
根据提供的文件信息,我们可以从标题、描述以及部分给出的内容中提炼出有关PHP基础知识学习的关键信息。下面将对这些信息进行详细的展开与解释。 ### 标题解析:“后盾网教学视频 PHP基础--向军 (143课时 6.8G)”...
1. PHP基础知识 - PHP是嵌入HTML中的服务器端脚本语言,使用<?php?>作为代码标记。 - PHP文件的扩展名通常是.php。 - 文件名和路径不应该包含中文字符,因为可能会导致服务器解析错误。 - PHP是区分大小写的编程...
【标题】:“wpshout-cookie-demo”是一个演示项目,它专注于在WordPress中使用PHP cookies的实践教程。这个项目源于WPShout的一篇文章,名为“在WordPress中使用PHP Cookies”,旨在帮助开发者了解如何在WordPress...
这些问题涵盖了 PHP 的基础知识点,包括 MySQL 连接、PHP 循环语句、超全局变量、运算符优先级、Cookie 存储、变量类型、字符串比较、复选框类型、SESSION 会话、最近一条查询信息、结构类型变量、客户端 Cookies ...
本资源摘要信息涵盖了PHP基础知识的各个方面,包括变量、运算符、控制结构、函数、数组、字符串、会话、 cookie 等内容。通过对这些知识点的详细解释和分析,可以帮助读者更好地理解PHP的基础概念和应用场景。 一、...
总结,Cookie在PHP程序设计中扮演着关键角色,理解它们的差异和正确使用方式是开发安全、高效Web应用的基础。无论是短暂的会话Cookie还是长期的持久Cookie,都需要根据实际需求和安全策略来明智地选择和配置。
"PHP经典实例--Web基础"这个主题深入探讨了PHP在处理Web交互时的关键技术,包括Cookie管理、HTTP头部信息控制、用户身份验证以及如何有效地使用查询字符串。下面将详细阐述这些知识点。 1. **Cookie管理**: - **...
【PHP基础知识概述】 PHP是一种广泛使用的开源脚本语言,尤其适用于Web开发,它可以嵌入到HTML中使用。PHP的设计目标是提升动态内容的处理效率,同时也支持命令行接口(CLI)模式,使得它能用于通用编程。以下是...
1. **PHP基础**:PHP是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发。在本项目中,`index.php`可能是整个系统的入口文件,包含了处理用户请求和显示响应的核心逻辑。 2. **用户登录系统**:用户登录通常...
【PHP入门基础知识】 PHP是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发,能够嵌入到HTML中。它的全称“PHP:Hypertext Preprocessor”表明它是一种预处理程序,用于处理服务器上的HTML超文本。PHP文件的...