我怎么能记住用户提供的数据

时间:2016-11-19 12:32:18

标签: php session cookies

我想写一个代码,记住用户给出的名字,下次访问时会以这个名字欢迎他。我不太了解cookie和会话,所以我会感谢任何帮助。我写了这样的话:

档案:1.php

<?php
  session_start();
?>
<html>
<form action="2.php" method="post">
  Name:<input type="text" name="name"/></br>
  <input type="submit" value="send"/>
</form>
</html>
<?php
  $name=$_POST['name'];
  setcookie('name',$name,time()+3600*24);
  $_SESSION['name']=$name;
?>

文件:2.php

//2.php
<?php
  session_start();
  if(isset($_COOKIE['name']))
    echo "Hello".$_SESSION['name'];
  else
    echo "Cookie doesnt exist";
?>

1 个答案:

答案 0 :(得分:0)

在下面的示例中,1.php仅用于提交到2.php,因此不使用任何PHP代码。

1.php

<html>
<form action="2.php" method="post">
 Name:<input type="text" name="name"/><br>
 <input type="submit" name="submit" value="send"/>
</form>
</html>

我已经在下面展示了如何设置Cookie和会话的两个实例。您只需刷新2.php,Cookie输出仍应显示$_COOKIE['name']的值。

2.php

 <?php

session_start();


if (isset($_POST['name'])) {

    $_SESSION['username'] = $_POST['name'];

    setcookie('name',$_SESSION['username'],time()+3600*24);

}


//Session Value will show in first instance
echo "Session Name: " . $_SESSION['username'] . "<br>";


//Cookie Value will not how until you refresh page
echo "Cookie Name: "  . $_COOKIE['name'] . "<br>";


?>

编辑:刷新页面时不会覆盖变量。