代码之家  ›  专栏  ›  技术社区  ›  user455982

从mysite提交表单时如何重定向或发送一些变量(xyz.com网站)到其他站点(父域)?

php
  •  1
  • user455982  · 技术社区  · 15 年前

    我想把一个变量从我的网站传递到另一个网站,同时在我的网站提交表单。

    请帮帮我。

    提前谢谢。

    4 回复  |  直到 15 年前
        1
  •  0
  •   stevendesu    15 年前

    确保我明白-

    将表格提交给父域,然后有美国广播公司处理这些变量并发送一个重定向头将用户发送回xyz.com网站. 此方法要求您在两个站点上都拥有web空间美国广播公司以及xyz.com网站用于创建窗体和处理窗体。

    xyz.com:
    <form action="abc.com/..." method="get">
        <input type="text" name="value" />
        <input type="submit" />
    </form>
    
    abc.com:
    <?php
        /* Do something with $_GET["value"] */
        header("Location: xyz.com");
    ?>
    

    使用AJAX将表单内容提交到美国广播公司向提交表单时xyz.com网站(我对javascript不太熟悉,无法提供源代码)

    <?php
        $output = file_get_contents("abc.com?value=".$_GET["value"]);
    ?>
    

    您也可以创建stream_上下文来将帖子发送到另一个服务器。

    <?php
    $context = stream_context_create(array( 
    'http' => array( 
        'method'  => 'POST',
        'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
        'content' => http_build_query(array('value' => $value)),
        'timeout' => 90,
        ), 
    ));
    $ret = file_get_contents('abc.com', false, $context);
    ?>
    

    <?php
    header("HTTP/1.0 307 Temporary Redirect", $replace=true, 307);
    header("Location: xyz.com");
    ?>
    
        2
  •  0
  •   mattbasta    15 年前

    如果表单是通过邮寄提交的,则无法重定向用户。HTTP重定向不能包含提交到原始接收服务器的POST变量。

        3
  •  0
  •   luchaninov pEteR    15 年前

    添加到HTML到表单

    <input type="hidden" name="ParamName" value="ParamValue" />
    

    if (isset($_POST['ParamName'])) {
        echo 'I\'ve got ParamName - '.$_POST['ParamName'];
    }
    
        4
  •  0
  •   methodin    15 年前

    您可以使用AJAX将表单提交到站点,完成后使用javascript在表单本身上触发submit事件。

    $("#myform").trigger("submit");
    

    可能适用于所有现代浏览器。

    推荐文章