-1

我有一个使用 php 的网页,并且有一堆输入字段,用户在其中输入一些数据,然后我将输入转换为 SQL 语句来查询一些数据库。我成功地解析了输入字段并将 SQL 语句放在一起,但是当他们单击“提交”按钮时,所有输入字段都被清除了。我怎样才能使这些输入字段在每次用户单击“提交”时都不会被删除?

4

8 回答 8

1

将它们存储在局部变量中,例如

<?php
$name = '';
$last = '';

if(isset($_POST['post_me'])) {
   $name = $_POST['post_me'];
   $last = $_POST['last'];
   //Process further
}
?>
<form method="post">
  <input type="text" name="name" value="<?php echo $name; ?>" />
  <input type="text" name="last" value="<?php echo $last; ?>" />
  <input type="submit" name="post_me" />
</form>
于 2013-05-02T18:40:48.213 回答
1

像这样的东西应该工作。

<?
if(!isset($_POST['stackoverflow'])){
    $txt = "";
} else {
    $txt = $_POST['stackoverflow'];
}  
?>

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <form action="" method="post">
        <input type="text" name="stackoverflow" value="<?= $txt ?>">
    </form>
</body>
</html>
于 2013-05-02T18:42:14.953 回答
0

您需要检查页面加载时是否已经设置了 POST 值(假设您使用的是 POST)(因为它们已经提交)。如果设置了它们,则将它们的内容回显到表单字段的值属性中,或者根据字段类型设置checked=checked等。

于 2013-05-02T18:38:14.313 回答
0

这一直对我有用:

<input type="text" name="somename" value="<?php echo htmlspecialchars($_POST['somename']); ?>">

于 2013-05-02T20:35:36.980 回答
0

关键是将帖子值存储在会话中并使用值标签显示它。示例:
HTML:

    <form action="index.php" method="post">
        <input type="text" name="name" placeholder="First Name"
        value="<?php
        if (isset($_SESSION['name'])) {
            echo $_SESSION['name'];
        }?>" >

       <input type="submit" name="submit">
   </form>

PHP:

      session_start();
      if (isset($_POST['submit'])) {
        $name=$_POST['name']); 
        $_SESSION['name']=$name;
      }
于 2018-04-04T10:44:59.677 回答
-1

你在 PHP 中使用过会话和 Cookie 吗?

您可以在为用户更新数据库之前将值存储在表单提交的会话中,然后检查是否存在用户会话并且为字段输出设置了值,否则输出为空。

于 2013-05-02T18:39:57.657 回答
-1

您只需确保 HTML 输入值具有该字段的相应 php 变量的 php echo 语句。

于 2020-02-29T02:27:42.680 回答
-2

最简单的答案

`<form method="post" onsubmit="return false">`

即使使用 htmlentities,使用 PHP 对输入进行编码也是危险的 - 希望这会有所帮助

于 2019-04-06T04:21:32.937 回答