【问题标题】:PHP send data to some other webpagePHP 将数据发送到其他网页
【发布时间】:2011-05-11 21:11:48
【问题描述】:

我想在一个网站上有一个脚本,在另一个网站上有一个数据库。

第一个网站有 2 个输入用户名和密码的字段。然后 php 将用户名/密码发布到其他 php 文件,然后 php 执行 something 然后以某种方式将数据发送到我的第二个网站,在那里我将用户名和密码插入 MySql 数据库。

所以我什么都能做,除了:

我在 PHP 文件中有 2 个变量,我想将它们发送到其他网页,这可能会使用 $_POST 获取它们?发布也应该是自动的,所以脚本自己发布它们而不是通过按钮按下。怎么做?

我的问题清楚了吗?我可以解释。

谢谢。

【问题讨论】:

  • 其实一点都不清楚。
  • 某些东西必须触发数据的发布。你说的自动是什么意思?请澄清
  • 你想做什么?您为什么不希望在您的网站上使用此脚本?
  • 对我来说似乎很清楚。他想从他自己的 PHP 脚本向托管在另一台服务器上的 PHP 脚本发送 POST 请求。
  • @boug :自动。我的意思是..可以说我的程序从用户输入中获取 2 个值。然后操纵它们并更改它们..现在 php 有了这些值,但是现在,php 完成了它的工作,我希望它将这些值发送到其他网站

标签: php post get


【解决方案1】:

为什么你的虚拟网站上的脚本不能通过 $_POST 检索数据,然后从你的真实网站调用脚本?

http://davidwalsh.name/execute-http-post-php-curl

检查一下。这样你就可以从你的虚拟网站脚本发布到你的真实网站,对用户完全透明。

希望这是有道理的。

【讨论】:

    【解决方案2】:

    您可以使用 PHP cURL 库来发送这些类型的数据请求。

    链接:http://php.net/manual/en/book.curl.php

    【讨论】:

      【解决方案3】:

      有三种明显的方法可以做到这一点:

      1) 简单 - 将页面托管在站点 2 上,但使用站点 1 上的 iframe 来嵌入它。

      2) 通过将 action 属性设置为站点 2 上的脚本,将表单从站点 1 发布到站点 2。

      3) 将站点 1 上的表单发布到站点 1 上的脚本,然后使用 CURL 将其发布到幕后的其他站点。

      【讨论】:

        【解决方案4】:
         /**
         * create request || application/json
         * @param $method
         * @param $url
         * @param $args
         * @param $isSentBody
         * @param $cert
         * @return resource
         */
        
        function createRequest($method, $url, $args, $isSentBody, $cert = false)
        {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            if ($method == 'POST')
                curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($args));
        
            if ($isSentBody) {
                curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($args));
                curl_setopt($ch, CURLOPT_HTTPHEADER, array(
                    'Content-Type: application/json',
                    //'Authorization : Bearer ' . getAccessToken(),
                ));
            }
            if ($cert)
                curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . $cert);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            curl_setopt($ch, CURLOPT_TIMEOUT, 60);
            try {
                return curl_exec($ch);
            } catch (Exception $e) {
                throw $e;
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2014-01-18
          • 1970-01-01
          • 2021-09-13
          • 2011-05-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多