当我单击提交按钮时,我会看到"echo",但当我刷新页面时,"echo"会消失。
这是我的脚本:
<?php
$asktext = $_POST['asktext'];
if(isset($_POST['askbtn'])) {
echo $asktext;
}
?>
<html>
<body>
<p align="right"><input type="submit" name="loginbtn" value="Log in">
<form action ="" method="post">
<p align="middle">
<textarea name="asktext" style="width: 600px; height: 150px; resize: none"></textarea>
<br>
<input type="submit"name="askbtn" value="Ask!" style="width: 600px;">
</p>
</body>
</html>
您可以将变量回显到文本区域,但一定要转义html特殊字符。此外,在尝试读取post变量之前,请检查该变量是否已设置。然后关闭您的表单。
<?php
$asktext = '';
if(isset($_POST['askbtn']))
{
$asktext = $_POST['asktext'];
}
?>
<html>
<body>
<p align="right"><input type="submit" name="loginbtn" value="Log in">
<form action ="" method="post">
<p align="middle">
<textarea name="asktext" style="width: 600px; height: 150px; resize: none"><?echo htmlspecialchars($asktext); ?></textarea>
<br>
<input type="submit" name="askbtn" value="Ask!" style="width: 600px;"
</p>
</form>
</body>
</html>
您是刷新页面还是重新访问页面?您的代码在提交/刷新时应该可以正常工作,但如果您按Enter键"刷新",则会丢失发布请求。