【发布时间】:2015-07-19 15:09:04
【问题描述】:
我有一些 php 脚本,当提交一个简单的 2 文本字段表单时会调用它。我试图在 php 中的页面上“创建”一个快餐栏,让用户知道他们的链接已成功发送,但它似乎根本不起作用。
我知道小吃店工作正常,因为我在加载时从页面内创建了小吃店以对其进行测试。 php 脚本也每次都发送电子邮件,因此也没有问题。
这是我的 php 代码:
<?php
$name = $_POST['txtname'];
$link = $_POST['txtlink'];
// EMAIL STRUCTURE
$from = 'Banner Mastering';
$to = 'bannermastering@gmail.com';
$subject = "BannerMastering: You have a new download from $name";
$body ="From: $name\nDownload Link: $link";
//SEND EMAIL
if (mail ($to, $subject, $body, $from)) {
echo '<script>
$(function() {
$.snackbar({content: "Your download link has been sent, thanks!", timeout: 10000});
});
</script>';
}
header("Location: http://www.bannermastering.co.uk/upload.html");
exit();
?>
我正在使用 Snackbar JS:https://github.com/FezVrasta/snackbarjs 这是我的上下文页面:http://www.bannermastering.co.uk/upload.html
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
您正在尝试将位置标头(浏览器重定向)与内容混合,您的重定向必须由 JavaScript 完成,并且您需要提供完整的文档(除非你是通过 ajax 来做的)。另外,您不应该在内容之后发送标头,这不是在 php 中引发错误吗?
-
更不用说在设置标题之前不能输出任何东西
-
为大家的回复干杯!我不确定您所说的提供完整文档是什么意思,但我已经尝试像您说的那样在 javascript 中移动我的重定向。我试过使用
window.location.replace和 .href 方法,但似乎都没有工作,任何更多的帮助都会很棒!if (mail ($to, $subject, $body, $from)){ echo ' <script type=\"text/javascript\"> $(function() { $.snackbar({content: "Your download link has been sent, thanks!", timeout: 10000}); }); window.location.replace("http://www.bannermastering.co.uk/upload.html"); </script>'; } ?>
标签: javascript php jquery html twitter-bootstrap