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