【发布时间】:2013-03-15 23:05:10
【问题描述】:
我有一个名为“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 问题 (Using $_SESSION to carry data),但这不是我想要的。
我只想让用户在输入有效电子邮件时看到“你们都已注册”;在后台发送电子邮件确认电子邮件。这段代码感觉笨拙和尴尬。它还会短暂闪烁auto_mail.php 页面。
我尝试设置<form action="index.php"...,但它不起作用,因为我设置了auto_mail.php,因此您无法直接访问它。
如何在不处理$_POST 和$_SESSION 的情况下使用auto_mail.php 中的代码来检查有效的电子邮件地址并发送确认电子邮件,或者至少更好地使用它们?
【问题讨论】:
-
我用那种东西让我的网站登录,它工作得很好。我将 ajax 与 jquery 一起使用,并且传统的重新加载也都有效。
-
你在 index.php 上使用过 session_start() 吗?
标签: php html post session-variables