如何不清除php表单中的输入字段?

b5buobof  于 2023-02-03  发布在  PHP
关注(0)|答案(9)|浏览(151)

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

jv4diomz

jv4diomz1#

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

<?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>
h9a6wy2h

h9a6wy2h2#

像这样的东西应该工作。

<?
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>
igsr9ssn

igsr9ssn3#

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

vdgimpew

vdgimpew4#

这对我来说一直很有效:
<input type="text" name="somename" value="<?php echo htmlspecialchars($_POST['somename']); ?>">

jdzmm42g

jdzmm42g5#

关键是要将过账值存储在session中,并使用value tag显示。示例:
超文本:

<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;
      }
mxg2im7a

mxg2im7a6#

<?php                                                  
  if(isset($_POST['submit'])) {
  $decimal = $_POST['decimal'];                                            
?>

<form action="" method="post">
  <input type="number" name="decimal" required value="<?php echo (isset($decimal)) ? $decimal: ''?>">
</form>

只需在输入值中使用**$_POST ['decimal']**

ldioqlga

ldioqlga7#

您是否在PHP中使用过会话和Cookie?
您可以在表单提交时将值存储在会话中,然后在数据库中为用户更新,然后检查是否存在用户会话以及是否为字段输出设置了值,否则输出空值。

x33g5p2x

x33g5p2x8#

您只需要确保HTML输入值包含一个php echo语句,该语句包含该字段的相应php变量。

xxls0lw8

xxls0lw89#

最简单的答案

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

用PHP编写输入代码是危险的,即使是使用html实体-希望这能有所帮助

相关问题