在同一页面上执行表单操作后,重定向到PHP中的另一页面

时间:2019-05-19 23:08:12

标签: php forms redirect

所以我的页面为 downloads.php ,这是表单所在的位置以及表单的动作。 downloads.php 的内容如下所示

<form method="POST" action="">
<td><button type="submit" name="download" value="<?php echo $g['filename'];?> ">Download</button></td>
</form>
<?php
    if( isset($_POST['download']) ){
        $file = $_POST["download"];


        $sql = "UPDATE files SET downloads=1+downloads WHERE filename ='$file'";
        $conn->query($sql);


    //I want to redirect users to portal after updating my database
        header("Location: portal.php");

    }
?>

我用header了,尽管我很困惑为什么它不起作用。

2 个答案:

答案 0 :(得分:2)

请注意PHP docs for header()中的header()必须在输出任何HTML之前执行。尝试将所有PHP代码放在文档顶部,它应该可以工作

答案 1 :(得分:1)

我找到了一种使用javascript的快捷方法,那就是


    <?php
        if( isset($_POST['download']) ){
            $file = $_POST["download"];
            $sql = "UPDATE files SET download=1+download WHERE filename ='$file'";
            $conn->query($sql);
    ?>
    <script>
    var str1 = 'https://www.example.com/portal.php';
    window.location.href = str1;
    </script>

    <?php
    }
    ?>