php - 使用 php 存储表单数据会打开一个新页面,而不是在同一页面中进行
问题描述
我的网站底部有一个反馈部分,但是当我按下提交时,它会打开一个新页面,我希望它保持在同一页面上。 https://voxet.net
<?php
if(isset($_POST['submit'])){
$feedback_desc = $_POST['feedback_desc'];
$cvsData = "$feedback_desc\n";
$fp = fopen("feedback.csv","a");
if($fp){
fwrite($fp,$cvsData);
fclose($fp);
}
}
?>
解决方案
<form action="form.php" method="post">
当您的表单提交时,它会在 form.php 上进行处理。这就是表单提交时重定向到 form.php 的原因。你有三个选择:
1) 将服务器端表单代码从 form.php 移动到带有表单的页面。然后,您可以删除该action
属性,并且不会有重定向。这将导致页面刷新 - 为避免这种情况,您需要使用 AJAX。
2)添加Header('Location: index.php');
到form.php
页面的末尾。这将在提交表单后重定向回主页。
if(isset($_POST['submit'])) {
// code
Header('Location: index.php');
}
3) 使用 AJAX 在表单提交时将表单 POST 数据发送到 form.php。请参阅使用 AJAX 将表单数据传递给 PHP 而不刷新页面的表单提交