php - 使用 PHP cookies 保存用户表单输入信息以供以后访问?

标签 php html forms cookies

基本上,我想在 PHP 中创建一个 cookie,它会记住用户在表单中输入的内容(定向到单独的页面),这样每当他们返回该页面时,表单就已经预先填充了他们输入的任何信息。第一次就把它放进去。

我到处都找过,但找不到关于如何做到这一点的好的答案。这就是我现在的代码配置方式(不起作用)。

PHP:

$fname =  $_POST['fname'];
$lname = $_POST['lname'];

if( ( $fname != null ) and ( $lname != null ) )
{
  setcookie( "fname", $fname, time() + 36000 );
  setcookie( "lname", $lname, time() + 36000 );
  exit();
}
?>

HTML:

<form method="post" action="hidden.php">
<p>First Name: <input type="text" maxlength="40" name="fname" id="fname" value="<?php if(isset($_COOKIE['fname'])){echo $fname;} else {echo "";} ?>"/></p>
<p>Last Name: <input type="text" maxlength="40" name="lname" id="lname" value="<?php if(isset($_COOKIE['lname'])){echo $lname;} else {echo "";} ?>"/></p>

有人介意告诉我我做错了什么以及如何解决它吗?谢谢!

最佳答案

<?php if(isset($fname))...

应该是

<?php if(isset($_COOKIE['fname']))

lname 命令也是如此

编辑(不确定这是否是您的设置,但如果您将下一个代码放入文件中,它应该可以工作)

<?php
$fname =  $_POST['fname'];
$lname = $_POST['lname'];

if( ( $fname != null ) and ( $lname != null ) )
{
  setcookie( "fname", $fname, time() + 36000 );
  setcookie( "lname", $lname, time() + 36000 );
}

echo "post fname ".$_POST['fname']."<BR>";
echo "post lname ". $_POST['lname']."<BR>";
echo "cookie ". $_COOKIE['fname']."<BR>";
echo "cookie ". $_COOKIE['lname']."<BR>";
?>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<form method="post" action="hidden.php">
<p>First Name: <input type="text" maxlength="40" name="fname" id="fname" value="<?php if(isset($_COOKIE['fname'])){echo $_COOKIE['fname'];} else {echo "";} ?>"/></p>
<p>Last Name: <input type="text" maxlength="40" name="lname" id="lname" value="<?php if(isset($_COOKIE['lname'])){echo $_COOKIE['lname'];} else {echo "";} ?>"/></p

<input type="submit" name="submit" value="Send">
</body>
</html>

关于php - 使用 PHP cookies 保存用户表单输入信息以供以后访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16328554/

相关文章:

php - Jquery图像裁剪器

php - 如何控制PHP多页表单的流程?

php - 如何将以前的值连接到 sql 中的新值?

php - 使用 ConfigParser 从 ini 文件中读取数组

javascript - 如何在CSS中使用全局JavaScript变量?

javascript - 使用循环将表数据附加到表中

Windows 更新破坏了多部分/表单数据(更新 : KB3104002 )

angular - FormArray 在对象中找不到我的 formControlName

php - 如何将文本框拆分为每个字符的多个子文本框

javascript - 使用 jquery 添加/更新 URL 中的参数