我正在注册时事通讯,用户输入他们的电子邮件并单击表单提交按钮。问题是通讯注册在我的页脚中,它显示在网站的每个页面上。现在我有 action="newsletter.php" ,它会向我发送一封电子邮件,其中包含他们用来注册的电子邮件。我可以有一个 "window.location=""" 但我希望它返回到它们来自的页面(因为页脚可能在网站的任何页面上)。
现在,我想知道是否有办法不让表单操作成为“newsletter.php”,而是让 php 只是在页脚文件中,这样他们甚至永远不会离开他们最初所在的页面,一个简单的 window.alert 可以让他们知道他们的注册成功,并且无论他们在网站的哪个页面上,他们都可以继续做他们正在做的事情。
在从谷歌得到想法并自己尝试之后,我尝试制作一个 javascript 函数,其中包含向我发送一封包含他们输入的电子邮件的电子邮件所需的 php,但显然每次网站的任何页面都向我发送一封空白电子邮件加载。我也尝试过“isset”,但问题是 action="" 只是在 isset 可以检查他们是否输入电子邮件之前重新加载页面。
NEWSLETTER.PHP-
<?php
$field_emailInput = $_POST['emailInput'];
$mail_to = 'josh@cutephilosophy.com';
$subject = 'NEWSLETTER SUBSCRIBER';
$body_message .= 'This person subscribed for email updates: ';
$body_message .= 'E-Mail: '.$field_emailInput."\n";
$headers = 'From: '.$field_emailInput."\r\n";
$headers .= 'Reply-To: '.$field_emailInput."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
window.alert('You Are Now In The Loop!');
//window.location = 'index.php';
window.location ='history.back()';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Something broke, email josh@cutephilosophy.com about the problem!');
window.location = 'index.php';
</script>
<?php
}
?>
您会注意到我在使用 action="newsletter.php" 方法时尝试了“history.back()”,这是可行的,但是当显示 window.alert 时,您处于一个完整的白色页面而不是最初的页面打开,然后您将被重定向回来。