用php填充表单字段

时间:2012-11-08 02:08:00

标签: php html

我有一个表单供用户填写信息,我想知道如果用户重定向回页面,如何保留以前输入的信息。

所以,我有两个文件,

  • form.html
  • validate.php

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; ?>

有人可以告诉我为什么以及如何正确修复它?

感谢。

4 个答案:

答案 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处理程序