繁体   English   中英

如何从PHP脚本发送重定向页面传递变量作为发布变量

[英]how to send redirect page pass variables as post variables from a php script

您可以在POST请求中的PHP Post请求中找到类似的问题,但这在我的上下文中不起作用。

我有一个表单(旅游网站的预订表单),提交表单后,将在脚本中对值进行处理,例如验证和值的计算以及发送电子邮件。

处理完变量后,我想将其发送到付款页面,此页面将把付款详细信息发布到Paypal。

我的问题是在提交预订表格之后,在处理了从预订中获取的值之后,我该如何以一种将变量作为后变量传递的方式重定向页面。 (我不是从另一种形式的答复中寻找,我想重定向到另一种形式)。

要创建POST请求,请使用fsockopen()打开与主机的TCP连接,然后在fsockopen()返回的处理程序上使用fwrite(),该值应与OP头函数中使用的值相同。 或者,您可以使用cURL。

<?php
 if(isset($_POST['Name']))     $Name   = $_POST['Name'];
 if(isset($_POST['Email']))   $Email   = $_POST['Email'];
 if(isset($_POST['Message']))   $Message= htmlentities($_POST['Message']);

 $Curl_Session = curl_init('http://www.yoururl.com/script.php');
 curl_setopt ($Curl_Session, CURLOPT_POST, 1);
 curl_setopt ($Curl_Session, CURLOPT_POSTFIELDS, "Name=$Name&Email=$Email&Message=$Message");
 curl_setopt ($Curl_Session, CURLOPT_FOLLOWLOCATION, 1);
 curl_exec ($Curl_Session);
 curl_close ($Curl_Session);
?>

其中$ Message是您的变量。

编辑:我很久以前回答了这个问题,也许我确实忘记了从php.net引用,但这是每个评论的链接http://www.askapache.com/htaccess/sending-post-form-data-with-php-curl。 html作为参考

你不能 HTTP没有为使用请求正文中的任何内容(POST数据所在的位置)进行重定向的规定。 您只能使用GET请求进行重定向。 因此,执行此操作的典型方法是将用户带到第二个页面,该页面具有用于“继续使用PayPal”或类似功能的按钮。 该按钮将按正常方式将所有数据过帐到PayPal。

物有所值,如果这是用于贝宝“立即购买”按钮的,则它们实际上(即使没有记录)也允许通过URL发送GET请求中的所有这些表单变量。 我们在其中一个应用程序中执行此操作,其中我们“跟踪”付款过程的开始,然后重定向到包含所有表单字段作为查询字符串的PayPal URL,然后在用户返回时“完成”交易。

好吧,我想如果您要谈论的是在页面之间将数据保存在自己的网站中,则需要使用PHP的会话功能

要开始会话,只需执行session_start();

并添加会话变量,只需使用超全局数组$_SESSION['myvar'] = $value; 然后,您可以通过相同的方式阅读它们print_r($_SESSION[]);

但是,如果您正在谈论使用Paypal API感测数据,我强烈建议您查看其开发人员API手册。

希望有帮助,RayQuang

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM