[英]php save session (form) doesn't work
我正在制作一個帶有表單的網站,並希望在打開出現錯誤的新頁面后保存輸入的數據。 然后,在新頁面上,您會找到上一頁的鏈接,以便可以對其進行編輯。 問題是編輯...我想使用會話保存數據,但顯然不起作用。
我將部分地發布代碼,以免你們被炸毀。 如果您需要更多,請詢問;)
以HTML ocntact形式:
<?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
我沒有任何錯誤。 它只是不保存數據。 誰能告訴我怎么了?
謝謝
您需要將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">
看起來不錯,但您需要將以前的值放入表單的html部分:
<input .... value="<?php echo $form_data['name']; ?>" .../>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.