这里是html/php
<html>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>">
Enter message<br> <textarea rows="4" cols="40" name="form"></textarea><br>
<input type="submit">
</form>
<?php
$formvalue = $_POST["form"];
if ($formvalue == TRUE) {
$file = fopen("logindetails", "a");
fwrite($file, PHP_EOL);
fwrite($file, $formvalue);
fclose($file);
}
else {
die();
}
?>
</html>
现在,每当我重新加载页面时,就会出现先前提交的值或新的换行符如何解决这个问题
请帮
我期望网页上的表单值被提交并显示在服务器上的一个文件上,并且每个表单提交要更新的文件,但相反,它重复先前发送的值到文件中,页面刷新或者如果我没有在表单中填写任何内容,则在表单中添加一个空白的新行
属性到我的表单
为了避免您的POST或GET再次被发送,您可以检查&首先处理在脚本中,然后将脚本重定向到同一页面。一旦重定向,如果刷新页面,它将被发送任何POST或GET请求。
可能更新的代码示例:
<?php
if(isset($_POST["form"])) {
$formvalue = $_POST["form"];
if ($formvalue == TRUE) {
$file = fopen("logindetails", "a");
fwrite($file, $formvalue);
fwrite($file, PHP_EOL);
fclose($file);
header('Location: ' . $_SERVER['SCRIPT_NAME']);// calls again your page before printing anything
}
}
?>
<html>
<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"] ?>">
Enter message<br> <textarea rows="4" cols="40" name="form"></textarea><br>
<input type="submit">
</form>
</body>
</html>