我有一个名为“index.php”的登录页面,格式如下:
<form action="auto_mail.php" method="post">
<input id="signup" class="span8" type="text" placeholder="Your email" name="signup">
<input type="submit">
<?php
if (isset($_SESSION['got_it']))
{echo "<b>You're all signed up!</b>}
?></form>
在auto_mail.php
我的文件中:
// code scrubbing user input...
$user_email = $_POST['signup'];
session_start();
$_SESSION['got_it'] = '1';
// code sending me an email when someone signs up.
echo <<<EOD
</b>
<meta http-equiv="refresh" content="0, url=index.php">
</div>
</body>
</html>
EOD;
?>
我查看了其他一些 SO 问题(使用 $_SESSION 携带数据),但这不是我想要的。
我想要的只是让用户在输入有效电子邮件时看到“你们都已注册”;在后台发送电子邮件确认电子邮件。这段代码感觉笨拙和尴尬。它还会短暂地闪烁auto_mail.php
页面。
我尝试设置<form action="index.php"...
,但它不起作用,因为我已经设置auto_mail.php
,您无法直接访问它。
如何使用中的代码auto_mail.php
检查有效的电子邮件地址并发送确认电子邮件,而不同时处理$_POST
和$_SESSION
,或者至少更好地使用它们?