如何在cookie中存储值然后回显它

时间:2017-07-18 10:35:17

标签: php forms cookies

我看了类似的问题,但它仍然没有用。

我尝试做的是,例如,用户输入他的姓名/城市,我希望这些数据存储在cookie中,下次他进入页面时会显示消息{{1} }

我试过

"Hello [name] from [city]."

无论如何,代码有点大,但基本上就是我想要做的事情。什么都没有出现。是的,在我确认用户使用if(!empty($ _ POST))完成每个输入后,我使用了setcookie。

2 个答案:

答案 0 :(得分:1)

" ..是的,我使用了setcookie "。但是,在提供的代码中它是不可见的(或类型='隐藏')。

设置Cookie     

/* Set Cookie */
$cookie_duration = 30 * 24 * 60 * 60; // Cookie Duration is for 30 Days. Change it accordingly.

setcookie ("_name", $_POST['name'], $cookie_duration);
setcookie ("_city", $_POST['city'], $cookie_duration);

/* Retreive Cookie */
$name = isset($_COOKIE["_name"]) ? $_COOKIE["_name"] : "";
$city = isset($_COOKIE["_city"]) ? $_COOKIE["_city"] : "";

if($name != "" && $city != ""){
  echo "Hello ".$name." from ".$city.".";
}
?>

取消设置Cookie

<?php
/* If wanted to remove the cookie after some period of time,
 * Unset Cookie 
 */
setcookie("_name", "", time()-3600);
setcookie("_city", "", time()-3600);

?>

答案 1 :(得分:0)

你必须使用setcookie。 http://php.net/manual/en/function.setcookie.php

echo $_COOKIE['foo']为您提供名为'foo'的Cookie的内容。

不要为您需要的每个值使用单个cookie。而是考虑将数据作为JSON存储在一个数据cookie中。