发送到下一页的Post方法


Post method sending to next page

如何将get查询字符串发送到下一页?我知道查询字符串的格式应该是什么,我只是不理解重定向到下一页的实际过程。

而不是像href这样的东西,但是你不需要点击它就可以将查询字符串发送到下一页。

<?php 
///receiving from page1 and storing as variable
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $city = $_POST['city'];
    $state = $_POST['state'];
    $age = $_POST['age'];  
//quarry string with firstname and lastname
    page3.php?firstname=<?php echo $firstname;?>&lastname=<?php echo $lastname;?>

从技术上讲,你可以使用两个可用的选项。你是否应该使用它们是另一回事。

GET请求

get请求将涉及相同的原始表单,但不是method="post",您将这样做;method="get"。它的作用是将所有表单数据以查询字符串的形式添加到指定的action url中。

然后获取数据,它非常类似于您获取POST数据的方式。

$varName = $_GET['name'],其中name为表单中指定的名称。

这种方式很好,因为它意味着你不需要处理POST数据,然后自动将其发送到另一个页面。

POST请求

您现有的代码目前正在使用POST请求,这在某些情况下确实是有意义的,例如在通过GET发送之前更改它。

如果你要使用这个方法,这就是你需要做的。

header("location: $url");,其中$url是您想要发送的GET请求的变量。

TL;博士

您可能应该使用GET请求而不是POST请求,但它仍然是可以实现的。

就像这样做;

<?php
    if (isset($_POST['firstname']) && isset($_POST['lastname'])) {
        $firstname = $_POST['firstname'];
        $lastname = $_POST['lastname'];
        $city = $_POST['city'];
        $state = $_POST['state'];
        $age = $_POST['age'];
        $url = "page3.php?firstname=".$firstname."&lastname=".$lastname;
        header("location: $url");
    }
?>