PHP Cookies,如何启用会话

・3 分钟阅读

在本教程中,你将学习:

  • 如何设置测试环境
  • 如何编写使用Cookies的简单示例程序

软件需求和约定

使用的需求,约定或软件版本
ubuntu 20.04 LTS
PHP 7.2,Firefox 74.0
以Linux系统作为root或通过sudo命令的权限访问,
#linux命令以root特权直接作为root用户执行,或使用sudo命令执行
$-linux命令以普通非特权用户身份执行

安装程序

测试环境由一个Apache web server组成,PHP模块被加载,在设置中,使用Ubuntu 20.04 LTS,但是最近的发行版都能用,在Ubuntu上,我们只需要apache2php


$sudo apt-get install apache2
$sudo apt-get install php

为了使用浏览器访问示例页面,我们还需要运行web服务器:

$sudo systemctl restart apache2

我们还需要一个启用Cookies的浏览器,本教程使用最新的Firefox;




PHP源代码示例:


<?php
$cookie_name = "username";
$ask_to_store = false;
$username = "Unknown Visitor";

if (!isset($_COOKIE[$cookie_name])) {
 if (!isset($_REQUEST['uname'])) {
 $ask_to_store = true;
 } else {
 $username = $_REQUEST['uname'];
 setcookie($cookie_name, $username);
 }
} else {
 $username = $_COOKIE[$cookie_name];
}

echo "<html>n<body>n";
echo "<h1>Welcome, " . $username . "!</h1>n";
if ($ask_to_store) {
 echo "<p>If you would like to set the username so we can greet you by that, enter it to the below form, and submit your request.</p>n";
 echo "<form method="post">n";
 echo "<input type="text" name="uname"/>n";
 echo "<input type="submit"/>n";
 echo "</form>n";
} else {
 echo "<p>We are happy we can greet you by name.</p>n";
}
?>
</body>
</html>


我们把这个代码放入一个page_with_cookies.php的文件中,并将它放在web服务器的test php目录中,通过浏览器访问它,指定URL,如下所示:http://<webserver's address>/php/page_with_cookies.php

Haojinghui profile image