【问题标题】:Cannot able to post value to another page in php? using url?无法在 php 中将值发布到另一个页面?使用网址?
【发布时间】:2017-05-09 09:08:56
【问题描述】:

无法在 php 中使用此方法发布值。我希望将值发布到一个页面到另一个页面。它给出空结果。

header("location:http://webpage.com/retry.php?amount=".$amount);

【问题讨论】:

  • 在你的 retry.php 上尝试var_dump($_REQUEST);
  • 你想做什么?获取amount的值?
  • 要获取URL 中某物的值,请使用$_GET。我认为您使用的是$_POST,基于标题
  • 重定向 url 的结果。 webpage.com/retry.php?amount:
  • 首先我想要发布数据。值无法发布。

标签: php url post header location


【解决方案1】:

您不能简单地使用header() 将 PHP 文件中的数据通过 POST 转换为另一个 PHP 文件。您需要使用名为cURL的函数/API

<?php

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"http://www.example.com/tester.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
            "postvar1=value1&postvar2=value2&postvar3=value3");

// in real life you should use something like:
// curl_setopt($ch, CURLOPT_POSTFIELDS, 
//          http_build_query(array('postvar1' => 'value1')));

// receive server response ...
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$server_output = curl_exec ($ch);

curl_close ($ch);

// further processing ....
if ($server_output == "OK") { ... } else { ... }

?>

如果您不能每次都编写这么大的代码并调试错误,我建议您使用 UniREST 客户端来完成这项工作。它简单、直接、轻便并且为我们工作。

下载UniREST from here

【讨论】:

    【解决方案2】:

    试试这个

    if(trim($amount)!=''){ // Check if amount is not empty. 
        // Redirect to page
        header("location:http://webpage.com/retry.php?amount=".$amount);
    }
    

    【讨论】:

    • 严重吗?这个答案是错误的。您不能使用 'header('Location: blahblahblah')` 发送 POST 请求。
    • 其实可以。 OP 可能正在传递一个空变量
    • 是的,你可以这样做
    • 虽然欢迎使用此代码 sn-p,并且可能会提供一些帮助,但它会是 greatly improved if it included an explanation of 如何解决这个问题。没有这个,你的回答就没有多少教育价值了——记住你是在为未来的读者回答这个问题,而不仅仅是现在提问的人!请edit您的答案添加解释,并说明适用的限制和假设。
    猜你喜欢
    • 1970-01-01
    • 2017-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多