cookie基本操作:
<span style="font-size:18px;"><?php // 什么是会话: // 打开浏览器,访问某个网站的很多页面(通过点击超连接), 当你关闭浏览器后,一个会话结束. // cookie是保存在客户端. header("Content-type: text/html; charset=utf-8"); //演示如何创建cookie信息 //把用户名和密码保存到客户端的cookie //setCookie()这个函数用于保存cookie //第一个参数表示cookie一个key 第二个参数表示 val,第三个参数表示cookie值在客户端中保存的时间,按秒计算 // key <-->value // key <--->value //..... $time=date('Y-m-d H:i:s'); setCookie("name","wml",time()+3600); setCookie("password","123456",time()+30); setCookie("address","北京",time()+300); setCookie("time","$time",time()+300000000); echo "保存成功!"; // 对代码说明 // ① 当浏览器访问 cookie.php页面的时候,我们的服务器就会以 // Set-Cookie: name=wml; expires=Wed, 21-Sep-2011 07:53:25 GMT 回送http响应,当浏览器获取到该信息后,就会保存该cookie 的新到 // 本机的 c:/xxx/admin/cookies文件. // ② 如果我们如果没有该时间(第三个参数) // cookie不会保存到客户端,当浏览器的会话结束,我们的cookie就失效. // ③ cookie只能保存字符串信息. // ④ 客户端可以保存多个 key<==>value 对 // ④ cookie也可以保存中文,默认将会对中文进行 urlencode编码 // ⑥ cookie 可以有多个 键<==>值 对,可以给不同的键值 ,指定不同的有效时间. // 从客户端获取保存的cookie信息 (查询) //获取cookie信息 echo "<pre>"; print_r($_COOKIE); echo "</pre>"; //获取指定的key对应的值 $name=$_COOKIE['name']; $password=$_COOKIE['password']; echo "name=".$name; echo "<br>"; echo "password=".$password; echo "<br>"; // 对代码说明: // ① 如果cookie有效时间到,则不能取出. // ② 客户端cookie信息是怎样传递给服务器 // 通过 http协议的 // Cookie: name=wml // 这个机制是http协议 规定 // 更新cookie信息 // 更新某个cookie key<==>val 实际上就是重新设置 // setCookie(); //更新 setCookie("address","天津",time()+300); echo "把 键 address的值更新了"; echo "<br>"; // 删除cookie信息 //删除某个key 只需要把 time()-秒数 //setCookie("name","",time()-200); echo "删除name key成功!"; echo "<br>"; //删除所有的 key foreach($_COOKIE as $key=>$val){ //setCookie($key,"",time()-100); } echo "删除所有cookie成功!"; echo "<br>"; // 如果你删除的 cookie的 key<==>value 没有删除完,则这个cookie在客户端保留,如果你把这个网站的所有cookie都删除,则浏览器会把 cookie文件删除. ?></span>
利用cookie实现显示上次登录时间:
<span style="font-size:18px;"><?php error_reporting(E_ALL^E_NOTICE); //利用cookie实现显示上次登录时间 header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('PRC'); $time=$_COOKIE['login_time']; if ($time==''){ $now_time=date('Y-m-d H:i:s'); setCookie("login_time","$now_time",time()+300000000); }else{ echo "您上次登录时间是:".$time."<br>"; $now_time=date('Y-m-d H:i:s'); setCookie("login_time","$now_time",time()+300000000); } ?></span>
登录界面:
<span style="font-size:18px;"><!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <h1> 登录界面</h1> <div class="login" style="margin-top:50px;"> <form action="login.php" name="loginform" accept-charset="utf-8" id="login_form" class="loginForm" method="post"> <div class="uinArea" id="uinArea"> <label class="input-tips" for="u">帐号:</label> <div class="inputOuter" id="uArea"> <input type="text" value="<?php error_reporting(E_ALL^E_NOTICE); //利用cookie实现自动填写用户名密码 $username=$_COOKIE['username']; if ($username!=='') echo $username; ?>" name="username"/> </div> </div> <div class="pwdArea" id="pwdArea"> <label class="input-tips" for="p">密码:</label> <div class="inputOuter" id="pArea"> <input type="password" id="p" name="pwd" value="<?php error_reporting(E_ALL^E_NOTICE); //利用cookie实现自动填写用户名密码 $password=$_COOKIE['password']; if (isset($password)) echo $password; ?>"/> </div> </div> <div>************************************************************************************</div> <input type="radio" name="sex" value="yes">保存账号密码<br> <div style="padding-left:50px;margin-top:20px;"><input type="submit" style="width:150px;" value="登 录" /></div> </form> </div> </body> </html></span>
login.php文件:
<span style="font-size:18px;"><?php $username1=$_POST['username']; $password1=$_POST['pwd']; $sex=$_POST['sex']; //$time=$_COOKIE['login_time']; if ($sex=='yes'){ setCookie("username","$username1",time()+300000000); setCookie("password","$password1",time()+300000000); }else{ setCookie("username","",time()-200); setCookie("password","",time()-200); } ?></span>