0

我正在制作一个带有表单的网站,并希望在打开带有错误的新页面后保存输入的数据。然后,在新页面上,您将获得一个指向上一个页面的链接,以便您可以对其进行编辑。问题是编辑...我想使用会话保存数据,但显然它不起作用。

我将部分发布代码,以免你们被轰炸。如果您需要更多,请询问;)

在 HTML 八进制形式中:

 <?php
session_start();
if (isset($_SESSION['your_form']) && !empty($_SESSION['your_form'])) {
    $form_data = $_SESSION['your_form'];
    unset($_SESSION['your_form']);
}
?>
<form id="contactForm" class="doorlopendetekst" name="htmlform" method="post" action="PHP/html_form_send.php">
    <table width="80%">
        <tr>
             <td valign="top" id="td">
              <label for="first_name">Voornaam</label>
             </td>
             <td valign="top">
              <input  type="text" id="roundedborder" name="first_name" placeholder="Voornaam" maxlength="50" size="30">
             </td>
        </tr>

在 PHP 文件中发送所有内容(完全在顶部以避免“已发送错误”):

<?php
session_start();
//assign all posted values to a session
if (!empty($_POST)) {
    foreach($_POST as $key => $value) {
        $_SESSION['your_form'][$key] = $value;
    }
} 
?>
<html><body>
<?php 

我没有收到任何错误。它只是不保存数据。谁能告诉我怎么了?

谢谢

4

2 回答 2

1

您需要将value属性分配给input field.

例如:

 <input  type="text" value="<?php echo $form_data['first_name'];?>"
 id="roundedborder" name="first_name" placeholder="Voornaam" maxlength="50" size="30">

编辑 1:(@Terry Harvey 的建议)

 <input  type="text" value="
 <?php (isset($form_data['first_name'])) ? echo $form_data['first_name'] : echo "" ;?>
 "id="roundedborder" name="first_name" placeholder="Voornaam" maxlength="50" size="30">
于 2013-05-24T09:27:44.907 回答
0

看起来不错,但您需要将以前的值放入表单的 html 部分:

<input .... value="<?php echo $form_data['name']; ?>" .../>
于 2013-05-24T09:27:19.920 回答