欧美老妇交乱视频_福利片在线观看_欧美日本在线观看_人人色视频_狠狠爱综合网_成人精品一区二区三区

您現(xiàn)在的位置是:首頁(yè) >php教程 >php初級(jí)教程五 Cookie和Session網(wǎng)站首頁(yè)php教程

php初級(jí)教程五 Cookie和Session

三只小菜猿 2023-02-15 11:15:34
簡(jiǎn)介PHP session 變量用于存儲(chǔ)關(guān)于用戶(hù)會(huì)話(session)的信息,或者更改用戶(hù)會(huì)話(session)的設(shè)置。Session 變量存儲(chǔ)單一用戶(hù)的信息,并且對(duì)于應(yīng)用程序中的所有頁(yè)面都是可用的。如果您的應(yīng)用程序需要與不支持 cookie 的瀏覽器打交道,那么您不得不使用其他的辦法在您的應(yīng)用程序中的頁(yè)面之間傳遞信息。在下面的例子中,我們將創(chuàng)建名為 “user” 的 cookie,并為它賦值 “dyf”。上面的代碼會(huì)向服務(wù)器注冊(cè)用戶(hù)的會(huì)話,以便您可以開(kāi)始保存用戶(hù)信息,同時(shí)會(huì)為用戶(hù)會(huì)話分配一個(gè) UID。

PHP Cookie

cookie 常用于識(shí)別用戶(hù)。

Cookie 是什么?

cookie 常用于識(shí)別用戶(hù)。cookie 是一種服務(wù)器留在用戶(hù)計(jì)算機(jī)上的小文件。每當(dāng)同一臺(tái)計(jì)算機(jī)通過(guò)瀏覽器請(qǐng)求頁(yè)面時(shí),這臺(tái)計(jì)算機(jī)將會(huì)發(fā)送 cookie。通過(guò) PHP,您能夠創(chuàng)建并取回 cookie 的值。

如何創(chuàng)建 Cookie?

setcookie() 函數(shù)用于設(shè)置 cookie。

注釋?zhuān)簊etcookie() 函數(shù)必須位于  標(biāo)簽之前。

語(yǔ)法

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

實(shí)例 1

在下面的例子中,我們將創(chuàng)建名為 "user" 的 cookie,并為它賦值 "dyf"。我們也規(guī)定了此 cookie 在一小時(shí)后過(guò)期:

<?php
setcookie("user""dyf", time()+3600);
?>

<html>
.....

注釋:在發(fā)送 cookie 時(shí),cookie 的值會(huì)自動(dòng)進(jìn)行 URL 編碼,在取回時(shí)進(jìn)行自動(dòng)解碼。(為防止 URL 編碼,請(qǐng)使用 setrawcookie() 取而代之。)

實(shí)例 2

您還可以通過(guò)另一種方式設(shè)置 cookie 的過(guò)期時(shí)間。這也許比使用秒表示的方式簡(jiǎn)單。

<?php
$expire=time()+60*60*24*30;
setcookie("user""runoob"$expire);
?>

<html>
.....

在上面的實(shí)例中,過(guò)期時(shí)間被設(shè)置為一個(gè)月(60 秒 * 60 分 * 24 小時(shí) * 30 天)。

如何取回 Cookie 的值?

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

在下面的實(shí)例中,我們?nèi)』亓嗣麨?"user" 的 cookie 的值,并把它顯示在了頁(yè)面上:

<?php
// 輸出 cookie 值
echo $_COOKIE["user"];

// 查看所有 cookie
print_r($_COOKIE);
?>

在下面的實(shí)例中,我們使用 isset() 函數(shù)來(lái)確認(rèn)是否已設(shè)置了 cookie:

<html>
<head>
<meta charset="utf-8">
<title>標(biāo)題</title>
</head>
<body>

<?php
if (isset($_COOKIE["user"]))
    echo "歡迎 " . $_COOKIE["user"] . "!<br>";
else
    echo "普通訪客!<br>";
?>

</body>
</html>

如何刪除 Cookie?

當(dāng)刪除 cookie 時(shí),您應(yīng)當(dāng)使過(guò)期日期變更為過(guò)去的時(shí)間點(diǎn)。

刪除的實(shí)例:

<?php
// 設(shè)置 cookie 過(guò)期時(shí)間為過(guò)去 1 小時(shí)
setcookie("user""", time()-3600);
?>

如果瀏覽器不支持 Cookie 該怎么辦?

如果您的應(yīng)用程序需要與不支持 cookie 的瀏覽器打交道,那么您不得不使用其他的辦法在您的應(yīng)用程序中的頁(yè)面之間傳遞信息。一種方式是通過(guò)表單傳遞數(shù)據(jù)。

下面的表單在用戶(hù)單點(diǎn)擊 "Submit" 按鈕時(shí),向 "welcome.php" 提交了用戶(hù)輸入:

<html>
<head>
<meta charset="utf-8">
<title>標(biāo)題</title>
</head>
<body>

<form action="welcome.php" method="post">
名字: <input type="text" name="name">
年齡: <input type="text" name="age">
<input type="submit">
</form>

</body>
</html>

取回 "welcome.php" 文件中的值,如下所示:

<html>
<head>
<meta charset="utf-8">
<title>標(biāo)題</title>
</head>
<body>

歡迎 <?php echo $_POST["name"]; ?>.<br>
你 <?php echo $_POST["age"]; ?> 歲了。

</body>
</html>

PHP Session

PHP session 變量用于存儲(chǔ)關(guān)于用戶(hù)會(huì)話(session)的信息,或者更改用戶(hù)會(huì)話(session)的設(shè)置。Session 變量存儲(chǔ)單一用戶(hù)的信息,并且對(duì)于應(yīng)用程序中的所有頁(yè)面都是可用的。

PHP Session 變量

您在計(jì)算機(jī)上操作某個(gè)應(yīng)用程序時(shí),您打開(kāi)它,做些更改,然后關(guān)閉它。這很像一次對(duì)話(Session)。計(jì)算機(jī)知道您是誰(shuí)。它清楚您在何時(shí)打開(kāi)和關(guān)閉應(yīng)用程序。然而,在因特網(wǎng)上問(wèn)題出現(xiàn)了:由于 HTTP 地址無(wú)法保持狀態(tài),Web 服務(wù)器并不知道您是誰(shuí)以及您做了什么。

PHP session 解決了這個(gè)問(wèn)題,它通過(guò)在服務(wù)器上存儲(chǔ)用戶(hù)信息以便隨后使用(比如用戶(hù)名稱(chēng)、購(gòu)買(mǎi)商品等)。然而,會(huì)話信息是臨時(shí)的,在用戶(hù)離開(kāi)網(wǎng)站后將被刪除。如果您需要永久存儲(chǔ)信息,可以把數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中。

Session 的工作機(jī)制是:為每個(gè)訪客創(chuàng)建一個(gè)唯一的 id (UID),并基于這個(gè) UID 來(lái)存儲(chǔ)變量。UID 存儲(chǔ)在 cookie 中,或者通過(guò) URL 進(jìn)行傳導(dǎo)。

開(kāi)始 PHP Session

在您把用戶(hù)信息存儲(chǔ)到 PHP session 中之前,首先必須啟動(dòng)會(huì)話。

注釋?zhuān)簊ession_start() 函數(shù)必須位于  標(biāo)簽之前:

<?php session_start(); ?>
 
<html>
<body>
 
</body>
</html>

上面的代碼會(huì)向服務(wù)器注冊(cè)用戶(hù)的會(huì)話,以便您可以開(kāi)始保存用戶(hù)信息,同時(shí)會(huì)為用戶(hù)會(huì)話分配一個(gè) UID。

存儲(chǔ) Session 變量

存儲(chǔ)和取回 session 變量的正確方法是使用 PHP $_SESSION 變量:

<?php
session_start();
// 存儲(chǔ) session 數(shù)據(jù)
$_SESSION['views']=1;
?>
 
<html>
<head>
<meta charset="utf-8">
<title>title</title>
</head>
<body>
 
<?php
// 檢索 session 數(shù)據(jù)
echo "瀏覽量:"$_SESSION['views'];
?>
 
</body>
</html>

輸出:

瀏覽量:1

在下面的實(shí)例中,我們創(chuàng)建了一個(gè)簡(jiǎn)單的 page-view 計(jì)數(shù)器。isset() 函數(shù)檢測(cè)是否已設(shè)置 "views" 變量。如果已設(shè)置 "views" 變量,我們累加計(jì)數(shù)器。如果 "views" 不存在,則創(chuàng)建 "views" 變量,并把它設(shè)置為 1:

<?php
session_start();
 
if(isset($_SESSION['views']))
{
    $_SESSION['views']=$_SESSION['views']+1;
}
else
{
    $_SESSION['views']=1;
}
echo "瀏覽量:"$_SESSION['views'];
?>

銷(xiāo)毀 Session

如果您希望刪除某些 session 數(shù)據(jù),可以使用 unset() 或 session_destroy() 函數(shù)。

unset() 函數(shù)用于釋放指定的 session 變量:

<?php
session_start();
if(isset($_SESSION['views']))
{
    unset($_SESSION['views']);
}
?>

您也可以通過(guò)調(diào)用 session_destroy() 函數(shù)徹底銷(xiāo)毀 session:

<?php
session_destroy();
?>

注釋?zhuān)簊ession_destroy() 將重置 session,您將失去所有已存儲(chǔ)的 session 數(shù)據(jù)。


夢(mèng)想加空間!平時(shí)喜歡研究各種技術(shù),目前在從事后端開(kāi)發(fā)工作,熱愛(ài)生活、熱愛(ài)工作。
主站蜘蛛池模板: 成人aaaa免费全部观看 | 色网综合 | 日韩成人av在线 | 欧美日本精品 | 亚洲国产精品成人 | 日韩在线免费观看视频 | 亚洲精品乱码久久久久久花季 | 成年人免费观看在线视频 | 波多野结衣先锋影音 | 一级做a爰片久久毛片免费陪 | www.色小妹| 亚洲国产一区二区三区 | 精品国产不卡一区二区三区 | 黄色免费在线网站 | 一区二区在线视频 | 一级免费视频 | 天天综合久久 | 欧美黄色一级 | 日韩美女国产精品 | 久久久一级片 | 亚洲国产精品人人爽夜夜爽 | 欧美精品成人一区二区三区四区 | 国产成人精品一区二区 | 亚洲激情一区 | 精品久久久久久久久久久久久久 | 午夜精品影院 | 操操网 | 成人免费视频视频在线观看 免费 | 国产精品免费视频观看 | 中文字幕亚洲精品 | 韩日精品一区 | 婷婷激情久久 | 久久男人 | 欧美日韩三区 | 少妇看av一二三区 | 激情综合丁香 | 一区二区三区在线看 | 一区二区三区四区av | 日本一区二区高清视频 | 国产一在线| 国内精品久久久久久久97牛牛 |