每当我单击表单提交按钮时,textarea 内容会自动清除 [PHP]

textarea content auto clears whenever i click the form submit button [PHP]

我有一个带有表单提交按钮的文本区域。每当我单击提交按钮时,textarea 上的内容都会被清除。但我不想清除我的文本区域的内容。这是我的代码

codepage.php

<?php

$ans = "hello";

if (isset($_POST['textcode'])) {
    {
        if ($_POST['textcode'] == $ans) {
            echo "<div id=errorPlace>proceed to next lesson</div>";
        }

        else
        {
            echo "<div id=errorPlace>Error</div>";
        }
    }

}
?>


<form  method="POST" name="validatePHP">
    <textarea name="textcode"></textarea>

    <input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
    </form>

感谢您的回答!有效。现在我有另一个问题,如果 textarea 中已经有一个预加载的文本,当我在其中输入另一个文本并单击提交按钮时,textarea 现在应该有我输入的文本和 textarea 中的预加载文本.

这是我更新后的代码

<?php

$ans = "hello";


if (isset($_POST['textcode'])) {
    {
        if ($_POST['textcode'] == $ans) {
            echo "<div id=errorPlace>proceed to next lesson</div>";

        }

        else
        {
            echo "<div id=errorPlace>Error</div>";
        }
    }

}
?>

<form  method="POST" name="validatePHP">
    <textarea name="textcode"><?php if(isset($_POST['textcode'])) { 
     echo htmlentities ($_POST['textcode']); }?>hell</textarea>
    <input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
    </form>

提交后尝试渲染内容

<textarea name="textcode"><?= $_POST['textcode']; ?></textarea>

也许你可以用 $_SESSION 来做?

在页面顶部键入 session_start();
然后里面

 if ($_POST['textcode'] == $ans) {
     echo "<div id=errorPlace>proceed to next lesson</div>";
 }

像这样添加代码 $_SESSION['textareaMsg'] = $_POST['textcode'];...

 if ($_POST['textcode'] == $ans) {
     echo "<div id=errorPlace>proceed to next lesson</div>";
     $_SESSION['textareaMsg'] = $_POST['textcode'];
 }

那么你的文本区域设置的地方就用这个替换它。

<?php
    if(isset($_SESSION['textareaMsg'])){
        echo '<textarea name="textcode">'.$_SESSION['textareaMsg'].'</textarea>';
    }else{
         echo '<textarea name="textcode"></textarea>';
    }
?>

这通过在提交表单时将文本区域保存为会话变量来工作,并在加载表单时检查它是否已设置,如果是,那么它将用设置的内容替换文本区域的内容在会话中。希望这对您有所帮助!

<textarea name="textcode">
<?php if(isset($_POST['textcode'])) { 
     echo htmlentities ($_POST['textcode']); }?>
</textarea>

试试下面的代码

   <?php

        $ans = "hello";

        $textcode = ""; //declare a variable without value to avoid undefined error

        if (isset($_POST['textcode'])) {
            {
                $textcode=$_POST['textcode']; //assign the value to variable in you if statment
                if ($textcode == $ans) { //useing variable in if statment

                    echo "<div id=errorPlace>proceed to next lesson</div>";
                }

                else
                {
                    echo "<div id=errorPlace>Error</div>";
                }
            }

        }
        ?>


        <form  method="POST" name="test.php">
            <!--echo user input -->
           <textarea name="textcode"><?php echo $textcode; ?></textarea>

            <input type="submit" class="btnSubmit" title="Submit Code" name="add" value=""></input>
        </form>