PHP的 - setcookie()不工作


Answers

直到它們被設置並且新的頁面請求被發送之後,cookie才開始進入。 這是因為cookie與頁面請求一起發送,它們不會神奇地出現在服務器上。

您的解決方案是設置cookie後進行頁面刷新。

// set cookie
setcookie("cookie", "off", time()+3600*24);
// not available because this cookie was not sent with the page request.
echo $_COOKIE['cookie'];
Question

我有這個頁面,設置一個cookie和echo出一個字符串,如果你檢查一個複選框。 字符串打印正確,但cookie永遠不會被設置,我不知道為什麼。

<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<label for="checkbox">Option 1:</label>
<input type="checkbox" name="checkbox" id="checkbox"><br>
<input type="submit" name="submit" value="Submit">
</form>
  <?php
if (isset($_POST['checkbox'])) {
  setcookie("cookie", "on", time()+3600*24);
  echo "You checked the checkbox and a cookie was set with a value of:<br>";
}
else {
  setcookie("cookie", "off", time()+3600*24);
  echo "You didn't check the checkbox and a cookie was set with a value of:<br>";
}
echo $_COOKIE['cookie'];
  ?>

有誰知道為什麼上面的代碼不起作用?






Links



Tags

php php   cookies