保留表格价值

问题描述 投票:0回答:2

我们如何保留形式价值? Server是用PHP编写的,表单的动作是"echo $_SERVER[PHP_SELF]".

不使用cookie,PHP会话,也不将PHP变量绑定到HTML Form值;我们怎样才能保留形式价值?

javascript php html forms
2个回答
1
投票
  • 仅使用HTML代码的最简单方法是将autocomplete =“on”属性添加到表单元素。
  • 最好的方法是在表单中嵌入PHP变量。尝试通过$ _POST / $ _GET超级全局变量接收/捕获表单值。例如:

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

-1
投票

在提交时,只需创建一个包含所有数据的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']:'' ?>
© www.soinside.com 2019 - 2024. All rights reserved.