在我看来,这似乎是一个奇怪的场景,也许不是那么奇怪,但我以前从来没有这么做过。
无论如何,我有一个使用Moneybookers(或Skrill)付款的支付系统,这个系统将数据库发送到我服务器上的文件,我检查数据,然后相应地更新我的数据库上的记录。
但最近我有一个名为iDevAffiliate的集成系统,该系统跟踪联盟付款并为了完全迭代,当Moneybooker发送数据并且我们的记录更新时,我们需要向iDevAffiliate系统发出信号说付款已经制作并附属于联盟记录。
现在这样做我认为这很简单:
header("location: http://www.mysite.com/affiliate/sale.php?profile=72198&idev_saleamt=2500&affiliate_id=$aff_id");
但我不确定我是否必须这样做:
header("location: http://www.mysite.com/affiliate/sale.php?profile=72198&idev_saleamt=2500&affiliate_id=" . $aff_id);
但他们似乎都有效。但是,如果我将该链接添加到我的浏览器中,将$ aff_id替换为实际的关联公司ID,它会正确设置所有内容,标题方法是不是正确使用的东西?我怎么能这样做?
答案 0 :(得分:2)
我不确定,如果问题是用正确的参数调用脚本,你可以使用带有post数据的cURL,例如
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.mysite.com/affiliate/sale.php");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "profile=72198&idev_saleamt=2500&affiliate_id=$aff_id");
$ret = curl_exec($ch);
curl_close($ch);
在$ ret变量上你有关于sale.php的html的回复
答案 1 :(得分:1)
在PHP中,如果使用单引号,则需要连接变量,例如
$abc = 'abc' . $p;
如果您使用双引号,则可以将变量嵌入字符串
中 $abc = "abc$p";
和$ p将被推测。
示例:$p = 'd';
echo 'abc$p'
将打印出abc $ p,而echo "abc$p"
将打印出abcd
答案 2 :(得分:1)
你给出的两个例子是等价的。如果您遇到问题,我建议验证$aff_id
的内容。
此外,当使用PHP的header
函数进行重定向时,请确保您还die
以防止进一步执行脚本。 header
函数本身不会导致重定向。它只是向您的浏览器发送一个标题,然后解释它并重定向。因此,PHP脚本将继续执行,直到浏览器解释标头并断开与PHP脚本的连接。
答案 3 :(得分:1)