0

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

我试图确定的付款流程是这样的:

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

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

我可以成功地创建和调用表单 iframe 和支付处理器——但在如何将两者连接起来并创建第三个时遇到了困难。

任何帮助将不胜感激 - 我是一名 php 学习者,并在最深处陷入困境,为此提前道歉!

是否有可能在一个 php 页面内完成所有这些操作,还是我正在尝试最好的方式?

谢谢

4

1 回答 1

0

iFrame 从来都不漂亮。为什么不使用 AJAX 来实现与 iframe 相同的结果?

如果您想使用 iFrame,您到底遇到了什么困难?url变量的传递?

编辑:

您应该能够使用标准 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 库来帮助您快速启动和运行。如果您对此感兴趣,或者仍然对 iframe 有疑问,请告诉我。

编辑2:

因此,您似乎仍然可以在确认页面上使用 php $_GET 方法访问这些 url 变量,然后使用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>';
}
于 2012-04-14T01:54:28.143 回答