我想填写表格,并能够返回修改记录。但是当我返回时,我希望表单具有以前的值。当我把" />
我收到了错误。 请帮忙
谢谢!
我的代码
<?php
if (isset($_POST['submit'])) {
$from = 'hello@gmail.com';
$subject = $_POST['subject'];
$text = $_POST['elvismail'];
$output_form = false;
if(empty($subject) && empty($text)) {
echo 'You forgot the email subject and body text.<br />';
$output_form = true;
}
if (empty($subject) && (!empty($text))) {
echo 'You forgot the email subject.<br />';
$output_form = true;
}
if ((!empty($subject)) && empty($text)) {
echo 'You forgot the email body text.<br />';
$output_form = true;
}
if ((!empty($subject)) && (!empty($text))) {
if(isset($_POST['cancel'])) {
echo "cancel";
}
else if(isset($_POST['send'])) {
echo "submit";
}
?>
<form method="post" action="index.php">
<table>
<tr>
<td>Subject of email</td>
<td> <?php echo $subject; ?> </td>
</tr>
<tr>
<td>Body of email</td>
<td><?php echo $text ?> </td>
</tr>
</table>
<input type="submit" name="cancel" value="cancel" />
<input type="submit" name="send" value="Submit" />
</form>
<?php
}
}
else {
$output_form=true;
}
if ($output_form) {
?>
<form method="post" action="index.php">
<label for="subject">Subject of email:</label><br />
<input id="subject" name="subject" type="text" size="30" /><br />
<label for="elvismail">Body of email:</label><br />
<textarea id="elvismail" name="elvismail" rows="8" cols="40"></textarea><br />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
}
?>
答案 0 :(得分:0)
在这种情况下,使用客户端资源要好得多,而不是再次将其存储在php
上。因为它只是一个临时值,使用本地存储会让您受益匪浅。
Javascript 或 JQuery 将是实现此目标的最佳方法。
第1步:在表单上的每个输入模糊后,将值存储在
LocalStorage
上。第2步:当用户返回页面时。只需指定您在
上保存的最新数据localStorage
因为如果您刷新页面,您将丢失php
中的数据变量,并且需要在database
上再次获取它,从而产生相同的数据值。
我建议您阅读LocalStorage并阅读有关使用JQuery控制输入的内容。
x = $("#form").serialize();
localStorage.setItem("temp_form_data" , x);
// To retrieve it simply convert it to JSON and assign it to each inputs.
var temp = JSON.parse(localStorage.getItem("temp_form_data"));
$("your-input-target").value(temp.id);
$("other-input-target").value(temp.description);
//and so on
这就是设置和获取输入数据的实现方式。