我試圖弄清楚setcookie()如何在PHP中工作,所以我讓我爲測試目的的簡單腳本。腳本唯一要做的就是要求一個用戶名,然後爲它創建一個cookie。當你再次輸入相同的用戶名時,它應該歡迎你回來。如果這是您第一次輸入該用戶名,則應首次歡迎您。這是我做的:php setcookie()不能正常工作
這是表格;
<!DOCTYPE html>
<html lang="nl">
<head>
<title>XXL Computer winkel</title>
</head>
<body>
<h3>php lab 12</h3>
<table border=0 cellpadding=0 cellspacing=0 >
<form name="orderform" action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<tr>
<td>gebruikersnaam</td>
<td><input type="text" name="user" /></td>
<td><input type="submit" name="send" value="inloggen" /> </td>
</tr>
</form>
</table>
<?php
include ("cookiefuncties.php");
welkom();
?>
</body>
</html>
cookiefuncties.php看起來是這樣的:
<?php
function welkom()
{
if(isset($_POST['user']))
{
$cookie_value = $_POST['user'];
$cookie_name = "gebruikersnaam";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
}
if(isset($_POST['user'])&& $_COOKIE[$cookie_name] === ($_POST['user']))
{
echo "Welcome back " . $_COOKIE[$cookie_name] . "!";
}
if(isset($_POST['user'])&& $_COOKIE[$cookie_name] != ($_POST['user']))
{
echo "Welcome " . $_COOKIE[$cookie_name] . "This is your first visit";
}
}
?>
問題是,Cookie是總是「一個名字後期。因此,我需要刷新頁面,並始終歡迎用戶回來,而不是說它是第一次訪問。我知道有一個選項可以「強制」刷新,但我不知道該如何解決。
問候, 倫納特
PS。不介意間距。我還是不知道如何在這個網站上右:-(
你有你必須檢查該用戶設置cookie之前更改每個用戶在每個請求的cookie名稱餅乾的存在 – siddhesh
我是不是在幹什麼克已經?如果我使用其他名稱登錄並刷新,我將獲得新名稱。這只是我希望它在沒有刷新的情況下工作 – Lennart
您的scenerio類似於follow第1個用戶輸入名稱並點擊提交您必須檢查用戶名是否已經輸入並顯示相應的消息? – siddhesh