我想在我的网站上提交表单时,将一个变量从我的网站传递到其他网站。
请帮帮我。
提前致谢。
汉字
答案 0 :(得分:0)
如果表单是通过POST提交的,则无法重定向用户。无法使HTTP重定向包含提交给原始接收服务器的POST变量。
抱歉!
PS - 如果有目的网站的API,请考虑使用它们!
答案 1 :(得分:0)
添加到HTML以形成
<input type="hidden" name="ParamName" value="ParamValue" />
使用PHP在目标站点检查表单时使用$ _POST ['ParamName']获取此变量,如:
if (isset($_POST['ParamName'])) {
echo 'I\'ve got ParamName - '.$_POST['ParamName'];
}
答案 2 :(得分:0)
您可以使用AJAX将表单提交到您的站点,完成后使用javascript在表单上触发提交事件。
例如,使用jQuery可以调用
$("#myform").trigger("submit");
可能适用于所有现代浏览器。
答案 3 :(得分:0)
确保我理解 -
您是否希望一台服务器在重定向到单独的服务器时收到论坛的结果?
我可以想象的唯一实际原因是网络钓鱼骗局,但假设你有一些光荣的意图,你有几个选择。
将表单提交给abc.com,然后让abc.com处理变量并发送重定向标头以将用户发送回xyz.com。此方法要求您在abc.com和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将表单内容提交到abc.com,同时将表单提交给xyz.com(我对javascript提供的源代码不够舒服)
让xyz.com将值提交给abc.com
<?php
$output = file_get_contents("abc.com?value=".$_GET["value"]);
?>
您还可以创建一个stream_context,将POST发送到另一台服务器。
<?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);
?>
或者,307重定向(临时重定向)应该发送POST数据。
<?php
header("HTTP/1.0 307 Temporary Redirect", $replace=true, 307);
header("Location: xyz.com");
?>