我们如何保留形式价值? Server是用PHP编写的,表单的动作是"echo $_SERVER[PHP_SELF]".
不使用cookie,PHP会话,也不将PHP变量绑定到HTML Form值;我们怎样才能保留形式价值?
// HTML
<form name="foo" action="<?php echo $_SERVER[PHP_SELF] ?>" method="POST">
<input type="text" name="username" placeholder="Enter username" value="<?php echo $username ?>" />
<input type="password" name="password" placeholder="Enter password" value="<?php echo $password ?>" />
<button type="submit">Submit</button>
</form>
// PHP
$username = !empty($_POST['username']) ? $_POST['username'] : '';
$password = !empty($_POST['password']) ? $_POST['password'] : '';
echo $username . $password;
在提交时,只需创建一个包含所有数据的cookie,如果signIn或signUp成功,则取消设置cookie,但如果发生错误,则使用该cookie并显示数据。
为表单创建cookie
setcookie('form_data', $_POST, time() + (86400 * 30), "/");
如果发生错误,则将cookie存储在变量中并在表单中使用
$data = $_COOKIE['form_data'];
以表格形式显示
<Input type='text' value='<?= isset($data['username'])?$data['username']:'' ?>