首页 > 解决方案 > 使用 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);
        }
    }
?>

标签: phpformscsv

解决方案


<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 而不刷新页面的表单提交


推荐阅读