[php]Session和Cookie的在网站中应用原理方面的分析及实现(2)
三、怎么使用Cookie和Session?
首先说明下,下面用的是php来写的,之所以写这个过程是加深对Cookie和Session的认识,不会光看理论那里比较抽象。
1、完成Cookie完成记住用户名的功能:
①第一个场景:
输入用户名,选择保存用户名-->提交-->打印设置Cookie成功-->返回登录页面-->用户名会自动填写(只要访问该登录页面,在Cookie有效期内)
这中间设置的Cookie可以在浏览器中查看的:
名字为userName,值为:xiaoshitou,保存时间为:1小时
②第二个场景:
输入用户名,不选择保存用户名-->提交-->打印删除Cookie成功-->返回登录页面-->用户名的值为空(设置的Cookie会被清空)
③代码如下:
(两个文件:saveUserNameView.php、saveUserNameProcess.php):
saveUserNameView.php:(登录页面的代码)
- <?php
- /**
- * Created by PhpStorm.
- * User: LSH
- * Date: 2016/11/25
- * Time: 11:12
- */
- ?>
- <html>
- <head>
- <meta charset="utf-8">
- <title>保存用户名</title>
- </head>
- <body>
- <h1>登录页面</h1>
- <form action="saveUserNameProcess.php" method="post">
- <table>
- <tr><td>用户名</td><td>
- <input type="text" name="userName" value="<?php if (!empty($_COOKIE['userName'])){echo $_COOKIE['userName'];} ?>"></td></tr>
- <tr><td>密 码</td><td><input type="password" name="password"></td></tr>
- <tr><td colspan="2"><input type="checkbox" name="saveUserName" value="saveUserName">保存用户名</td></tr>
- <tr><td colspan="2"><input type="submit" name="submit" value="提交"></td></tr>
- </table>
- </form>
- </body>
- </html>
saveUserNameProcess.php:(处理逻辑的代码,保存Cookie,删除Cookie)
- <?php
- /**
- * Created by PhpStorm.
- * User: LSH
- * Date: 2016/11/25
- * Time: 11:12
- */
- # 获取post提交的信息
- // 获取用户名
- if (!empty($_POST['userName'])){
- $userName = $_POST['userName'];
- }
- // 获取密码
- if (!empty($_POST['password'])){
- $password = $_POST['password'];
- }
- // 获取是否选择保存用户名
- if (!empty($_POST['saveUserName'])){
- // 当勾选了,就保存Cookie
- $saveUserName = $_POST['saveUserName'];
- // 保存Cookie
- // userName:设置的Cookie名字
- // $userName: 用户提交的用户名
- // time()+60*60: 从当前时间开始算,60*60秒;也就保存Cookie的时间,1个小时候Cookie过期
- setcookie('userName',$userName,time()+60*60);
- echo "<br>Set Cookie Success!<br>";
- }else{
- // 当用户没有选择 保存用户的时候
- // 删除Cookie,就是将Cookie的值清掉,把Cookie设置成过期
- setcookie('userName','',time()-200);
- echo "<br>Delete Cookie Success!<br>";
- }
- // 返回登录页面
- echo "<a href='saveUserNameView.php'>返回登录页面</a>";
热门文章推荐
- [php]优酷真实视频地址解析算法
- [Dz]discuz手机版支持视频播放的方法
- [PHP]php加密js解密的方法实例
- [php]用PHP打印出前一天的时间格式
- [PHP]mpeg,mp3,avi的ffmpeg的php转换类
- [php]php中3DES加密一个非常有用的3des加密
- [PHP]php.ini修改上传文件的大小限制处理方法
- [php]用过的最好用的php分页类源代码