保留在当前页面上的HTML表单操作

时间:2013-09-29 17:47:39

标签: javascript php html forms email

我正在制作简报注册,用户输入他们的电子邮件并点击表单提交按钮。问题是简报注册在我的页脚中,显示在网站的每个页面上。现在我有action =“newsletter.php”,它给我发了一封电子邮件,上面写着他们用来注册的电子邮件。我可以有一个“window.location =”“”但我希望它回到他们来自的页面(因为页脚可能已经在网站的任何页面上)。

现在,我想知道是否有办法让表单操作不是“newsletter.php”,而是将php放在页脚文件中,这样他们就不会离开他们所在的页面了首先,一个简单的window.alert可以让他们知道他们的注册成功,他们可以继续做他们正在做的事情,无论他们在哪个网站页面。

从谷歌获取想法并尝试自己之后,我尝试制作一个包含php的javascript函数,向我发送一封包含他们输入的电子邮件的电子邮件但是显然每次任何页面都向我发送一封空白电子邮件加载的网站。我也试过做“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显示时你在一个完整的白页而不是页面上他们最初打开,然后你被重定向回来。

2 个答案:

答案 0 :(得分:0)

你不能使用PHP_Self。或者在html中添加一个后退按钮,让他们点击回到原来的位置。

答案 1 :(得分:0)

使用php mail()发送电子邮件并将表单操作设置为

htmlspecialchars($_SERVER['REQUEST_URI'])

htmlspecialcharacters部分为表单添加了安全性,而服务器部分则返回到同一页面。