说明

Cookie与Session

Cookie 是什么?

cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。

如何创建 Cookie?

setcookie() 函数用于设置 cookie。

注释:setcookie() 函数必须位于 <html> 标签之前。

语法

setcookie(name, value, expire, path, domain);

<?php

setcookie("user", "runoob", time()+3600);

?>

如何取回 Cookie 的值?

PHP 的 $_COOKIE 变量用于取回 cookie 的值。

在下面的实例中,我们取回了名为 "user" 的 cookie 的值,并把它显示在了页面上:

<?php

// 输出 cookie 值

echo $_COOKIE["user"]; // 查看所有

cookie print_r($_COOKIE);

?>

如何删除 Cookie?

当删除 cookie 时,您应当使过期日期变更为过去的时间点。

删除的实例:

<?php

// 设置 cookie 过期时间为过去 1 小时

setcookie("user", "", time()-3600);

?>

PHP Session

PHP session 变量用于存储关于用户会话(session)的信息,或者更改用户会话(session)的设置。Session 变量存储单一用户的信息,并且对于应用程序中的所有页面都是可用的。

PHP Session 变量

您在计算机上操作某个应用程序时,您打开它,做些更改,然后关闭它。这很像一次对话(Session)。计算机知道您是谁。它清楚您在何时打开和关闭应用程序。然而,在因特网上问题出现了:由于 HTTP 地址无法保持状态,Web 服务器并不知道您是谁以及您做了什么。

PHP session 解决了这个问题,它通过在服务器上存储用户信息以便随后使用(比如用户名称、购买商品等)。然而,会话信息是临时的,在用户离开网站后将被删除。如果您需要永久存储信息,可以把数据存储在数据库中。

Session 的工作机制是:为每个访客创建一个唯一的 id (UID),并基于这个 UID 来存储变量。UID 存储在 cookie 中,或者通过 URL 进行传导。

开始 PHP Session

在您把用户信息存储到 PHP session 中之前,首先必须启动会话。

注释:session_start() 函数必须位于 <html> 标签之前:

存储 Session 变量

存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:

<?php

session_start(); // 存储 session 数据

$_SESSION['views']=1;

?>

销毁 Session

如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

unset() 函数用于释放指定的 session 变量:

<?php

session_start();

if(isset($_SESSION['views'])) {     

unset($_SESSION['views']); }

?>

注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。

 

 

 

 

 

语法格式

由于所有列都是浮动的,因此,此布局在脚注规则中采用 clear:both 声明。此清除方法强制使 .container 了解列的结束位置,以便显示在 .container 中放置的任何边框或背景颜色。如果您的设计要求您从 .container 中删除脚注,则需要采

实例

此布局的标题中使用了图像占位符,您可能希望在其中放置徽标。建议您删除此占位符,并将其替换为您自己的链接徽标。

请注意,如果您使用属性检查器导航到使用 SRC 字段的徽标图像(而不是删除并替换占位符),则应删除内联背景和显示属性。这些内联样式仅用于在浏览器中出于演示目的而显示徽标占位符。

要删除内联样式,请确保将 CSS 样式面板设置为“当前”。选择图像,然后在“CSS 样式”面板的“属性”窗格中右键单击并删除显示和背景属性。(当然,您始终可以直接访问代码,并在其中删除图像或占位符的内联样式。)

知识细节

本质上,任何块元素中的背景颜色仅显示与内容一样的长度。这意味着,如果要使用背景颜色或边框创建侧面列的外观,则不会一直扩展到脚注,而是在内容结束时停止。如果 .content 块始终包含更多内容,则可以在 .content 块中放置一个边框以将其与列分开。