在php,iframe和表单中卷曲

时间:2012-04-14 01:44:37

标签: php forms iframe curl

我的网站上有一个销售页面,我正在尝试配置。

我试图指出的付款流程是:

销售页面加载,iframe中的信息表单,客户填写表单,点击提交 - 然后只有iframe然后重新加载...并导致第二个iframe(这是付款处理器iframe)

付款成功后,客户将(仍在iframe内)发送到成功的付​​款页面。付款处理器在网址中添加了一些额外的字符串,然后需要将其编译成邮件并作为电子邮件发送给我。

我可以成功创建并调用表单iframe和支付处理器 - 但是如何连接两者并努力创建第三个。

任何帮助都会受到赞赏 - 我是一个PHP学习者,并且自己陷入了困境,所以提前抱歉!

是否可以在一个php页面内完成所有操作,或者是我尝试最好的方式?

由于

1 个答案:

答案 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>';
}