PHP标头发送PHP文件,而不应该

我的
PHP脚本有问题.

它应该像这样工作:

用户填写预订详细信息 – >将详细信息发送到preservation.php.

如果人数大于6,则应防止数据进入数据库.同时应该将填写的详细信息重新发送到原始表单,以便用户可以编辑详细信息.

但是会发生的事情是头部将preserve.php作为下载发送回来(内容是HTML,没有PHP).

    $username = $_POST['username'];
    $name = $_POST['name'];
    $email = $_POST['email'];
    $tel = $_POST['tel'];
    $date = $_POST['date'];
    $time = $_POST['time'];
    $pers = $_POST['pers']; //Amount of persons
    $comment = $_POST['comment'];

    if($pers >= 7){


            $post_date = 'test=test'; //Just to test the script
            $content_length = strlen($post_data);

            header('POST reservation.php');

            header('Host: localhost');

            header('Connection: close');

            header('Content-type: application/x-www-form-urlencoded');

            header('Content-length: ' . $content_length);

            header('');

            header($post_data);

            header('Location: reservation.php');


    }

最佳答案 首先,你的代码中有一个拼写错误:

$post_date = 'test=test';

应该

$post_data = 'test=test';

其次,我不完全确定是什么导致了您的问题,因为我从不需要回发已发布的请求中的数据.

正如我在评论中建议的那样,我建议你改为解决你的问题:

>将表单发送到您的脚本
>使用您的脚本来确定您的表单是否验证提交(例如,比较人数)
>如果它没有验证,只需将原始表单页面立即发送回浏览器(通过包含reservation.php文件,如我在其他评论中提到的,或者通过此处有意义的任何其他方式).

点赞