忘记密码电子邮件链接(php)返回错误,尽管数据库中已发布电子邮件
在从头开始构建登录/注册系统以自学PHP、mysql等的过程中,我目前正在尝试使用令牌构建一个“忘记密码”电子邮件链接系统,以重置忘记的密码 我的数据库列设置如下: id、名称、电子邮件、用户名、密码(别担心,不是纯文本!)、日期、配置文件、填充、令牌(最终标记为发送电子邮件进行重置),已使用(枚举0,1) 现在来看PHP忘记密码电子邮件链接(php)返回错误,尽管数据库中已发布电子邮件,php,mysql,Php,Mysql,在从头开始构建登录/注册系统以自学PHP、mysql等的过程中,我目前正在尝试使用令牌构建一个“忘记密码”电子邮件链接系统,以重置忘记的密码 我的数据库列设置如下: id、名称、电子邮件、用户名、密码(别担心,不是纯文本!)、日期、配置文件、填充、令牌(最终标记为发送电子邮件进行重置),已使用(枚举0,1) 现在来看PHP <?php if(!isset($_GET['email'])){ echo'<form action="forgotpass
<?php
if(!isset($_GET['email'])){
echo'<form action="forgotpassword.php">
Enter Your Email Id:
<input type="text" name="email" />
<input type="submit" value="Reset My Password" />
</form>'; exit();
}
$email=$_GET['email'];
function connect() {
$link = mysql_connect('localhost', DB_USER, DB_PASS);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
}
$q="SELECT email FROM users WHERE email='".$email."'";
$r=mysql_query($q);
$n=mysql_num_rows($r);
if($n==0){echo "Email id is not registered";
die();
}
函数中有db连接,但没有调用它,请尝试添加connect()
before$q=“从email='“$email.”的用户选择电子邮件代码>
将查询修改为:$q=“选择来自电子邮件地址为“”的用户的电子邮件”。修剪($email)。”代码>修剪将有助于删除空白(如果有)
尝试使用mysqli,因为mysql已被弃用
<?php
if(!isset($_GET['email'])){
echo'<form action="forgotpassword.php">
Enter Your Email Id:
<input type="text" name="email" />
<input type="submit" value="Reset My Password" />
</form>'; exit();
}
$email=$_GET['email'];
function connect() {
$link = mysql_connect('localhost', DB_USER, DB_PASS);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
}
connect();
$q="SELECT email FROM users WHERE email='".trim($email)."'";
$r=mysql_query($q);
$n=mysql_num_rows($r);
if($n==0){echo "Email id is not registered";
die();
}
函数中有db连接,但没有调用它,请尝试添加connect()
before$q=“从email='“$email.”的用户选择电子邮件代码>
将查询修改为:$q=“选择来自电子邮件地址为“”的用户的电子邮件”。修剪($email)。”代码>修剪将有助于删除空白(如果有)
尝试使用mysqli,因为mysql已被弃用
<?php
if(!isset($_GET['email'])){
echo'<form action="forgotpassword.php">
Enter Your Email Id:
<input type="text" name="email" />
<input type="submit" value="Reset My Password" />
</form>'; exit();
}
$email=$_GET['email'];
function connect() {
$link = mysql_connect('localhost', DB_USER, DB_PASS);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
}
connect();
$q="SELECT email FROM users WHERE email='".trim($email)."'";
$r=mysql_query($q);
$n=mysql_num_rows($r);
if($n==0){echo "Email id is not registered";
die();
}
//您可以使用以下代码:
//您可以使用以下代码:
回显$q
,以便查看查询是否正在格式化,我怀疑$email
中包含空格该空格来自何处?不要注意数据库或表单入口中的任何内容有时使用“粘贴”或浏览器将其放入。echo是如何工作的?不幸的是,我现在在连接我的站点时遇到了问题。我要和主持人联系。UGH在我的函数完成后显示空白并添加连接。回显$q
,以便您可以查看查询是否正在格式化,我怀疑的是$email
包含空白该空白来自何处?不要注意数据库或表单入口中的任何内容有时使用“粘贴”或浏览器将其放入。echo是如何工作的?不幸的是,我现在在连接我的站点时遇到了问题。我要和主持人联系。在我的函数完成后,它显示为空白并添加连接。