我有以下脚本作为密码忘记系统的一部分运行。除了未使用“令牌”更新数据库之外,其他所有内容似乎都正常运行。由于其他一切工作正常(即$ str正在设置并在通过电子邮件发送的URL中使用)...我认为这一定是更新脚本的问题,但我看不到原因。我的代码在下面,非常感谢所有帮助。
if(isset($_POST["sign"])){
include('connections/conn.php');
$email = mysqli_real_escape_string($conn, $_POST["email"]);
$data = $conn->query("SELECT id FROM travisor_tradesperson WHERE email='$email'");
if ($data-> num_rows > 0) {
$str = "0123456789qwertyuiopasdfghjklzxcvbnm";
$str = str_shuffle($str);
$str = substr($str, 0, 10);
$url = "http://rhamilton461.web.eeecs.qub.ac.uk/travisor/passReset.php?token=$str&email=$email";
mail($email, "Reset Password", "To reset your password please visit: $url" , "From: rhamilton461@qub.ac.uk\r\n");
$conn->query("UPDATE travisor_tradesperson SET token = '$str' WHERE email='$email'");
echo "Please check your email.";
} else {
echo "Please check your inputs.";
}
}
答案 0 :(得分:0)
通过注释邮件功能的调用语句来尝试运行脚本。 您的表格可能没有更新,因为邮件功能出错。 您是否以“ 请检查您的电子邮件”为输出?