0

我正在处理 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']; ?>"/>
4

3 回答 3

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 }?>/>
于 2012-12-26T09:35:56.947 回答
2

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

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

## Content
<input type='text' name="txtname" id="txtname" value="<?php echo (isset($_SESSION['txtname']) ? $_SESSION['txtname'] : ''); ?>" />
于 2012-12-26T09:39:38.770 回答
1

试试这个

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

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

于 2012-12-26T09:34:42.517 回答