$ _GET正在运行但不是$ _POST for url query

时间:2016-06-24 09:44:11

标签: php html post

我有以下按钮,打开一个新的选项卡/窗口并重定向到test.php页面。我想将$ a的数据发布到test.php
<input type="button" onclick="window.open('test.php?var=<?php echo $a;?>','_blank');" value="test"/>
test.php的
$b = $_GET['var'];

在上面的例子中,

$_GET将能够检索从url查询发布的数据,但是如果我将其更改为$b = $_POST['var'];,我会得到var的未定义索引错误。

我从其他posts读到我不应该使用GET提交敏感数据。所以我的问题是:如何修改代码,以便我可以使用var将变量$_POST的数据发布到test.php?

3 个答案:

答案 0 :(得分:1)

GET请求包含URL中的参数。如果你有一个页面&f; foo.com/bar.php'你可以在URL中传递GET参数,&#39; foo.com/bar.php?var = myvar&#39;。

然后,您可以使用cannot use type int8 as type []byte in assignment

检索参数

$_GET

在POST请求中,参数包含在请求正文中,而不是URL中。因此,如果您想使用POST发送$var = $_GET['var'];,则需要使用AJAX或使用var提交表单。

在您的情况下,您正在使用method="POST"并尝试从GET获取值。这是不可能的

答案 1 :(得分:0)

使用$ _GET,您将通过URL传递变量。

如果你想使用$ _POST,你必须使用AJAX:

    let url = "http://maps.google.com/maps?saddr=\(sourceLocation.latitude),\(sourceLocation.longitude)&daddr=\(destinationLocation.latitude),\(destinationLocation.longitude)"

    UIApplication.sharedApplication().openURL(NSURL(string: url)!)

答案 2 :(得分:0)

我认为如果您想这样做,您应该创建隐藏价值,然后当您点击按钮然后将该表单作为帖子请求提交给 test.php

不要忘记将target="_blank"添加到您的表单中以便在新标签页中打开

如果您不想在此页面中创建form,则可以将其重定向到新页面,并在新页面中使用javascript提交表单,以便将发送请求发送到 test.php < /强>