使用php恢复表单提交时的输入字段值

时间:2012-12-26 09:27:21

标签: php

我正在处理php表单提交,我对表单进行了php验证。

注册页面名称说“page1.php”,并在其他页面中检索字段值说“page2.php”。如果验证通过错误。它将重定向到其他页面说“page3.php”点击“page3.php”中的任何链接它将重定向回注册页面,即“page1.php”,但我无法存储或保留用户输入的值。可以任何人建议或指导我如何克服这个,

下面是我使用的代码。

使page2.php

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

page1.php

<input type='text' name="txtname" id="txtname" value="<?php echo $_SESSION['txtname']; ?>"/>

3 个答案:

答案 0 :(得分:2)

your fields in first page should be like this.

<input type='text' name="txtname" id="txtname" <?php if(isset($_SESSION['txtname'])){?> value="<?php echo $_SESSION['txtname']; ?>" <?Php }?>/>

如果验证失败,则在第二页中写入您的逻辑以重定向,并在第三页中创建链接。  session_start()page1.php

中必须page2.php

如果你想在验证后不想要这些变量,或者你可以取消设置那些会话变量。

您可以设计如下文字字段

<input type='text' name="txtname" id="txtname" <?php if($_SESSION['txtname']!=""){?> value="<?php echo $_SESSION['txtname']; ?>" <?Php }?>/>

答案 1 :(得分:2)

这应该这样做,因为session_start()应该在你执行的任何php文件中,并且想要访问SESSION数组

## Top of the file
<?php session_start(); ?>

## Content
<input type='text' name="txtname" id="txtname" value="<?php echo (isset($_SESSION['txtname']) ? $_SESSION['txtname'] : ''); ?>" />

答案 2 :(得分:1)

试试这个

<input type='text' name="txtname" placeholder="<?php echo $_SESSION['txtname']; ?>" id="txtname" value="<?php echo $_SESSION['txtname']; ?>"/>  

您是否在文件顶部添加了session_start()?