我的网站上有一个销售页面,我正在尝试配置。
我试图指出的付款流程是:
销售页面加载,iframe中的信息表单,客户填写表单,点击提交 - 然后只有iframe然后重新加载...并导致第二个iframe(这是付款处理器iframe)
付款成功后,客户将(仍在iframe内)发送到成功的付款页面。付款处理器在网址中添加了一些额外的字符串,然后需要将其编译成邮件并作为电子邮件发送给我。
我可以成功创建并调用表单iframe和支付处理器 - 但是如何连接两者并努力创建第三个。
任何帮助都会受到赞赏 - 我是一个PHP学习者,并且自己陷入了困境,所以提前抱歉!
是否可以在一个php页面内完成所有操作,或者是我尝试最好的方式?
由于
答案 0 :(得分:0)
iFrames永远不会漂亮。为什么不使用AJAX来实现与iframe相同的结果?
如果你想使用iFrames,你到底遇到了什么困难? url变量的转移?
编辑:
您应该能够通过标准网址格式的iframe传输变量:
<iframe src="landing_page.php?var=str&var2=str2" name="frame_name"></iframe>
然后“landing_page.php”可以通过“get”方法调用它们来访问这些变量:
<?php
echo $_GET['var'];
echo $_GET['var2'];
?>
或者,由于您通过点击(我假设)更改iframe是一个链接,您可以通过以下方式获得相同的结果:
<a href="landing_page.php?var=str&var2=str2" target="frame_name">Click to load new iframe</a>
并且“landing_page.php”可以使用与之前相同的方法进行访问。
但是,我仍然建议使用AJAX,因为iframe大多过时且不必要。我还没有遇到任何与AJAX和浏览器兼容性的问题。如果这是您想要的路线,我建议您使用jquery library来快速启动并运行。如果你对此感兴趣,或者仍然遇到iframe问题,请告诉我。
编辑2:
因此,您似乎仍然可以使用确认页面上的php $ _GET方法访问这些网址,然后使用mail发送电子邮件。下面是一个例子(用url替换我编写的实际变量名称):
//retrieve 'email' var from url
$to = $_GET['email'];
//enter title of email
$subject = 'Your Payment Confirmation';
//create your message and retrieve 'name' and 'amount' var from url
$msg = "Thank you, ".$_GET['name']."! Your payment of ".$_GET['amount']."
was approved!";
//if you want to have a custom "FROM" in the email header
$headers = 'From: somename@example.com';
//send mail to customer
mail($to,$subject,$msg,$headers);
//send to yourself as well
mail('youremail@domain.com',$subject,$msg,$headers)
注意:如果您在localhost上进行测试,则需要在本地服务器上启用邮件功能,否则邮件将不会发送。
编辑3:
使用explode以分号作为分隔符来解析Note var。然后,您将拥有一系列值。例如:
//explode the note var from url
$vars = explode(';', $_GET['Note']);
//echo values of $vars array
for($i=0; $i<count($vars); $i++) {
echo $vars[$i]. '</br>';
}