我有一个表单供用户填写信息,我想知道如果用户重定向回页面,如何保留以前输入的信息。
所以,我有两个文件,
在form.html
下:
<form id="regForm" action="index.php?validate" method="post" onsubmit="return regValidation();" >
<tr>
<td width="150px" >First Name: <font color="red">*</font> </td>
<td><input type="text" name="firstNameField" id="firstNameField" value/ ></td>
</tr>
并在validate.php
下,我已将信息存储为$ _SESSION:
<?php
session_start();
$_SESSION['first'] = $_POST['firstNameField'];
?>
但是当我尝试使用firstNameField
填充$_SESSION['first']
时如下
<td><input type="text" name="firstNameField" id="firstNameField" value="<?php echo isset($_SESSION['first']) ? $_SESSION['first'] : NULL; ?>" /></td>
该字段将逐字替换为<?php echo isset($_SESSION['first']) ? $_SESSION['first'] : NULL; ?>
有人可以告诉我为什么以及如何正确修复它?
感谢。
答案 0 :(得分:0)
将文件名更改为form.php
而不是form.html
,以便Apache知道在该文件中解析PHP。
或者,您可以修改.htaccess
文件并添加如下所示的行:
AddType application/x-httpd-php .html
这告诉Apache使用PHP呈现以HTML结尾的所有文件。
答案 1 :(得分:0)
为什么要通过两个文件来解决这个问题呢?
只要有一个。
第一次关注nowt,因为$ _POST中没有任何内容。随后的变量将具有适当的值。
这将为您节省很多心痛,因为您不需要保留两个文件。
它还消除了使用会话的复杂性。
答案 2 :(得分:0)
默认情况下,不会解析文件扩展名为.html的任何文件,因此会显示<?php $yourCode->exposed = true; ?>
如果重命名同一文件,则将其文件扩展名从.html更改为.php
将解析<?php echo 'HelloWorld'; ?>
,最终结果为HelloWorld
如上所述,Tim
可以覆盖此默认行为答案 3 :(得分:0)
将文件名更改为form.php而不是form.html,就像php标记
一样或添加.html处理程序