在PHP中声明一个POST变量

时间:2011-06-20 15:03:46

标签: php client-server

所以我正在构建一个使用iframe提交的Web应用程序,以异步方式提交/从外部.php服务中提取数据。我对我的项目有一个新的约束,它需要能够提取大量数据。通常我只是将外部.php服务重定向回我的本地页面,并将数据作为查询字符串附加到URL,但我不认为这是安全的,因为有可能有5,000多个字符长的块数据(更不用说我可能会在一个请求中提取3个“块”)。

那么,我的问题是,如何在我的.php服务中声明POST变量?另外,如果我声明一个POST变量,它实际上会通过Header重定向到的页面('Location:someLocation.php'); (我怀疑它不会)。

如果这不是解决此问题的最佳方法,并且有更好的方法,从.php文件,重定向到具有声明的POST变量的外部位置,请告诉我。

***过去我使用javascript将表单附加到iframe页面,用我需要的内容填写文本字段,将表单指向外部页面,然后提交。这不是一个可行的选择,因为.php作为服务运行,因此我放在其中的任何javascript都不会被执行,因为页面永远不会被浏览器呈现。

致以最诚挚的问候,

2 个答案:

答案 0 :(得分:3)

利用会话变量 This should get you started


由于以下评论而更新:

您可以尝试使用cURL发送帖子

答案 1 :(得分:0)

你没有在PHP中“声明”一个post变量。您只需通过POST提交数据并从$ _POST中检索它。

如果你想对你的服务进行双重处理以便它可以进行GET和POST,你可以这样做:

switch ($_SERVER['REQUEST_METHOD']) {
    case 'POST':
        $myvar = $_POST['myvar'];
        break;
    case 'GET':
        $myvar = $_GET['myvar'];
        break;
    default:
        die("Unsupport request method");
}

或者,您可以使用$_REQUEST['myvar']代替,它同时是GET和POST的组合,但最好使用您想要的特定超全局,而不是希望使用_REQUEST正确配置内容。