«
PHP中的Cookies

时间:2008-5-31    作者:Deri    分类: 分享


   <p>  Cookie通常用来验证或辨别一个用户。</p><p>  Cookie是什么呢?</p><p>  Cookie通常用来验证或辨别一个用户。Cookie是通过服务器发送到用户计算机中的一个小文件。每次,当相同的计算机通过浏览器请求一个页面时,原先存储的cookie也会发送到服务器。你可以使用PHP来创建和获取cookie的值。</p><p>  怎样创建一个cookie呢?</p><p>  Setcookie()函数是用来设置一个cookie的。</p><p>  注意:setcookie()函数必须在<html>标签之前。</p><p>  语法</p><p>  setcookie(name, value, expire, path, domain);</p><p>  案例</p><p>  在下面这个例子中,我们将创建一个名为“user”的cookie并把“Alex Porter”这个值赋给它;同时,我们还规定cookie将在一小时后过期:</p><code><?php<br />setcookie("user", "Alex Porter", time()+3600);<br />?><br /><html><br /><body><br /></body><br /></html></code><p>  注意:当发送cookie时,cookie值是自动进行URL编码[URLencoded]的;当受到cookie时,自动进行URL解码。(如果你不希望进行URL编码,可以使用setrawcookie()函数替代)</p><p>  如何获取cookie值?</p><p>  PHP $_COOKIE变量是用来获取一个cookie值的</p><p>  在下面这个例子中,我们获取了名为“user”的值并将它显示在页面上:</p><code><?php// Print a cookieecho $_COOKIE["user"];// A way to view all cookies<br />print_r($_COOKIE);<br />?></code><p>  我们使用isset()函数来检查cookie是否被设置:</p><code><html><br /><body><?php<br />if (isset($_COOKIE["user"]))<br /> echo "Welcome " . $_COOKIE["user"] . "!<br />";<br />else<br /> echo "Welcome guest!<br />";<br />?></body><br /></html></code><p>  如何删除一个cookie?</p><p>  当你要删除一个cookie时,你必须确保cookie已经过期。</p><p>  案例:</p><code><?php<br />// set the expiration date to one hour agosetcookie("user", "", time()-3600);<br />?></code><p>  如果浏览器不支持Cookie怎么办?</p><p>  如果你的浏览器不支持cookie,你必须使用其他方法将一个页面的信息传输到另一页面中。其中一个方法就是使用表单(我们已经在先前的教程中提到过)。</p><p>  下面这个案例:当用户点击“提交submit”按钮的时候,用户输入的信息被传输到“welcome.php”:</p><code><html><br /><body><form action="welcome.php" method="post"><br />Name: <input type="text" name="name" /><br />Age: <input type="text" name="age" /><br /><input type="submit" /><br /></form></body><br /></html></code><p>  下面的案例指明了如何获取“welcome.php”文件中的值:</p><code><html><br /><body>Welcome <?php echo $_POST["name"]; ?>.<br /><br />You are <?php echo $_POST["age"]; ?> years old.</body><br /></html></code></p>