如何在cookie中存储名称并回显它?

时间:2013-06-16 12:00:17

标签: php cookies echo

好吧,我正在做的是我有一个文本框和提交按钮,发布到当前页面。用户可以在其中输入他们的名字。 它会创建一个cookie,并且在按下提交后,cookie将在页面上回显出来。

但我似乎无法在一页刷新中这样做。

这是我到目前为止所做的:

<?php 
error_reporting(E_ALL ^ E_NOTICE);
?>

<form action="#" method="post">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php 
$post = $_POST["fname"]; 

$expire=time()+60*60*24*30;
setcookie("user", $post, $expire);

echo $_COOKIE["user"];
?>

谢谢!

3 个答案:

答案 0 :(得分:2)

设置好Cookie后,可以在下一页加载时使用$_COOKIE$HTTP_COOKIE_VARS数组访问这些Cookie:

<?php
   if (isset($_POST['fname'])) {
       $post = $_POST["fname"]; 

       $expire=time()+60*60*24*30;
       setcookie("user", $post, $expire);
      header("Location: index.php"); //notice the redirect?
    }
 ?>

<form action="" method="post">
   Name: <input type="text" name="fname">
   <input type="submit">
</form>

<?php if (isset($_COOKIE['user'])) {
   echo $_COOKIE["user"];
  }
?>

答案 1 :(得分:1)

在输出任何内容(html)

之前,应该设置

cookie

<?php 
error_reporting(E_ALL ^ E_NOTICE);

if(isset($_POST['fname'){
    $post = $_POST["fname"]; 

    $expire=time()+60*60*24*30;
    setcookie("user", $post, $expire);

    echo $_COOKIE["user"];
}
?>
<form action="#" method="post">
Name: <input type="text" name="fname">
<input type="submit">
</form>

答案 2 :(得分:1)

尝试此代码我还添加了一些检查:

<?php 
error_reporting(E_ALL ^ E_NOTICE);

if ($_SERVER['REQUEST_METHOD'] === 'post' && isset($_POST['fname']) && !empty($_POST['fname'])) {
$post = $_POST["fname"]; 

$expire=time()+60*60*24*30;
setcookie("user", $post, $expire);
}
?>

<form action="#" method="post">
Name: <input type="text" name="fname">
<input type="submit">
</form>

<?php if (isset($_COOKIE['user'])) {
echo $_COOKIE["user"];
} else {
echo 'There is no firstname.';
}
?>