Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
忘记密码页面帮助[PHP/HTML]_Php_Html - Fatal编程技术网

忘记密码页面帮助[PHP/HTML]

忘记密码页面帮助[PHP/HTML],php,html,Php,Html,我有一个CMS,我正在创建一个忘记密码页面,该页面将要求用户输入一个电子邮件地址,代码将在数据库中找到它并向他们发送电子邮件,在我的数据库中,我有多个用户帐户分配给一个电子邮件地址。 我希望这样,如果用户输入一个电子邮件地址,它是一个以上的帐户分配给它,错误的消息说,请联系您的管理员,但atm,它没有这样做。有什么建议吗 这是我忘记的密码页代码: if ($lookup) { $user->sendPa

我有一个CMS,我正在创建一个忘记密码页面,该页面将要求用户输入一个电子邮件地址,代码将在数据库中找到它并向他们发送电子邮件,在我的数据库中,我有多个用户帐户分配给一个电子邮件地址。 我希望这样,如果用户输入一个电子邮件地址,它是一个以上的帐户分配给它,错误的消息说,请联系您的管理员,但atm,它没有这样做。有什么建议吗

这是我忘记的密码页代码:

                    if ($lookup) {
                        $user->sendPasswordResetEmail();
                        echo"sent email";
                        } elseif ($lookup) {
                            echo "please contact your admin";
                                }else{ 
                                $echo"Can't find user";
                                }
            }
    }else{
        echo "please enter an email address";
        }
}
我从另一个文件获取信息,下面是我获取数据库的代码片段:

 $resetsystem = $db->query($qry);
 if ($resetsystem && $resetsystem->num_rows == 1) {
 $that->setUserData($rs->fetch_assoc());
 return true;
        }
            if ($resetsystem && $resetsystem->num_rows > 1) {
                return;
            }
        return false;
    }
更新以下代码:

函数lookupByEmail$userID{ 全球$db; $this->id=$userID;$qry=选择user\u id、user\u first\u name、user\u last\u name、user\u username、user\u email、user\u从cms\u用户中暂停,其中user\u email=.$db->SQLString$this->id.和user\u已删除 = 0;; $rs=$db->查询$qry; 如果$rs&&$rs->num_rows==1{ $this->setUserData$rs->fetch_assoc; 返回1; } 如果$rs&&$rs->num_rows>1{ 返回2; } 返回0;
}在第一个代码块中,这似乎很奇怪:$numfound=$Your elseif没有检查null,它正在检查true。很抱歉,我忘了删除$numfound=$@JeremiahWinsley感谢您的回复,我不希望它检查null,我希望elseif检查是否有多个电子邮件地址,然后输出错误消息当有多个电子邮件地址时,您的函数返回null。要检查这一点,您需要检查null。如果你不想这样,改变你的函数以返回一些不同的东西。啊,这是有效的,你能解释一下这些改变吗?我仍在学习,如果您能详细解释,我将不胜感激。在LookupByMail中,我已将返回值从布尔值更改为int,这样我们可以满足多种情况,例如0,1和2,如果我使用这些返回值,则在$found中,如果我的答案对您有效,请将其作为已回答,以便其他具有相同问题的人可以得到帮助。我已将其设置为已回答,为什么您将案例设置为0 1和2,这些数字有任何意义吗?它不能与true和false一起工作吗?true和false只是两个值,我们需要3个返回值,一个用于if true,一个用于if false,一个用于if true,一个用于if true,另一个用于if true,但有多个结果,这就是我更改iti的原因。我已更改了我的代码并调整了您的答案,请检查更改。