从php表单获取cookie值

从php表单获取cookie值,php,forms,cookies,Php,Forms,Cookies,对于用户可以在表单中输入的值,我应该如何设置cookie值和名称?我用什么在第二页上显示该值?(我不能用饼干来做这件事,所以也许有更聪明的方法来做,我只是想知道如何用饼干来做!!)谢谢 表格_数据中的数据: <?php echo "<b>fav color:</b>".$_COOKIE['color']; echo "<b>name:</b>".$_COOKIE['name']; ?> 问题的函数setcookie

对于用户可以在表单中输入的值,我应该如何设置cookie值和名称?我用什么在第二页上显示该值?(我不能用饼干来做这件事,所以也许有更聪明的方法来做,我只是想知道如何用饼干来做!!)谢谢


表格_数据中的数据:

  <?php
  echo "<b>fav color:</b>".$_COOKIE['color'];
  echo "<b>name:</b>".$_COOKIE['name'];
  ?>

问题的函数setcookie失败。 setcookie($name,$value)

例: setcookie(“颜色”、“红色”)


echo$_饼干[‘颜色’]//outout:red

我不知道您为什么要使用cookies。我知道您可以使用会话来传递用户信息,如下所示: 这是对我有效的完整示例

<?php
session_start();
if(array_key_exists('sub',$_POST))
$_SESSION['name']=$_POST['name'];
?>
<html>
<form  method="post">
<input type='text' name="name">
<input type='submit' name='sub' value='send my info'>
</html>

在另一页中,只需使用此页:

<?php
session_start();
$r=$_SESSION['name'];
echo $r;
?>


记住调用session_start();当您想首先使用会话时,在每个页面上都有您的表单:

<?php
echo "<form action=\"form_data.php\" method=\"post\">";
echo "favorite color:<input type=\"text\" name=\"color\" size=\"20\"><br/>";
echo "name:<input type=\"text\" name=\"name\" size=\"20\"><br/>";
echo "<input type=\"submit\" value=\"Submit\" />";
echo "<br /><input type=\"hidden\" name=\"submitted\" value=\"true\" />";
?>

然后在表单_data.php中:

<?php
// set the cookie with the submitted user data
setcookie('color',$_POST['color']);
setcookie('name', $_POST['name']);
echo "<b>fav color:</b>".$_COOKIE['color'];
echo "<b>name:</b>".$_COOKIE['name'];
?>
<?php 
 if (!empty($_POST)) {
  // set the cookie with the submitted user data
  setcookie('color',$_POST['color']);
  setcookie('name', $_POST['name']);
  // redirect the user to final landing page so cookie info is available
  header("Location:form_data.php");
 } else {
  echo "<b>fav color:</b>".$_COOKIE['color'];
  echo "<b>name:</b>".$_COOKIE['name'];
 }
?>

但是,您会注意到,$\u COOKIE变量还不可用。。。如果重新加载该页面,它们将出现

为了适应cookie的这种行为,您可以在form_data.php中设置重定向:

<?php
// set the cookie with the submitted user data
setcookie('color',$_POST['color']);
setcookie('name', $_POST['name']);
echo "<b>fav color:</b>".$_COOKIE['color'];
echo "<b>name:</b>".$_COOKIE['name'];
?>
<?php 
 if (!empty($_POST)) {
  // set the cookie with the submitted user data
  setcookie('color',$_POST['color']);
  setcookie('name', $_POST['name']);
  // redirect the user to final landing page so cookie info is available
  header("Location:form_data.php");
 } else {
  echo "<b>fav color:</b>".$_COOKIE['color'];
  echo "<b>name:</b>".$_COOKIE['name'];
 }
?>


你可以把它们重定向到任何合适的地方。希望这对你有帮助,祝你好运

谁能解释一下巴拉布姆写了什么:

但是,您会注意到,$\u COOKIE变量不可用 然而如果重新加载该页面,它们将出现



只是想了解为什么会这样,因为用户在提交时被重定向到页面。

我如何才能让它在表单tho中的未知值下工作?这就是我被卡住的地方(这能做到吗?!)他们特别问起饼干,我想他们有很好的理由。您的代码更常见,当然。当我们必须连接到服务器时,必须使用cookies,然后服务器必须对我们进行身份验证,因为HTTP是无状态的,它需要cookies。我无法理解这一点。假设amazon.com它使用cookies存储用户的信息,并且了解每个用户。Nguyen刚才说要输入表单,其他什么都没有