提交后在文本字段中保留文本

Nei*_*eil 1 html php textfield

我正在构建一个表单,我希望在表单提交失败的情况下保留所有插入的值.这是我的代码:

<?php
$error = "";
$name = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $name = $_POST["name"];

   // Verify $_POST['name'] greater than 4 chars
   if ( strlen($name) < 4 ){
        $error= 'Name too short!';
    }
}
?>

<html>
<head>
</head>
<body>
    <form method="post" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" name="myForm" id="idForm">
       <input type="text" placeholder="Name" id="name" name="name" value=""/>
       <input type="submit" value="submit"/>
    </form>
        <?php 
            echo "<h2>Input:</h2>"; 
            echo $name;
            if($error) {
                // No Update AND refresh page with $name in text field
                echo "<br/>" . $error; 
            } else {
                // Update name in DB
            }
       ?>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望该名称字段在提交后保留插入的输入文本.我尝试在输入值中使用php代码,但不起作用.有任何想法吗?

Nei*_*eil 5

解决了.这是我正在寻找的解决方案.我在输入的值标签中添加了以下内容:

<?php if (isset($_POST['name'])) echo $_POST['name']; ?>
Run Code Online (Sandbox Code Playgroud)

因此输入字段看起来像:

<input type="text" placeholder="Name" id="name" name="name" value="<?php if (isset($_POST['name'])) echo $_POST['name']; ?>"/>
Run Code Online (Sandbox Code Playgroud)

谢谢你的回复,帮助了我.