1

这是我第一次使用这个地方,如果我在这里完全愚蠢,请原谅我。

基本上,我正在编写一个系统,其中用户 A 为机构注册服务,接收该机构成员的验证码,然后作为该机构的一部分的用户 B 输入唯一验证码进行注册。

注册用户 A 的代码有效——它分配了一个唯一的自动递增 ID(数据库中的 sid 或 uid)和一个随机验证码(验证)——我对此感到满意(除了安全问题,但我需要学习如何处理这些)。

我的问题是,每当有人尝试注册为用户 B 并使用验证码时,系统都会拒绝它,并说验证码与该特定 sid 下的验证码不匹配。我感觉这与我用来查找验证 ID 的代码有关,但我不知道我哪里出错了。

当前代码:

$getsid = mysql_query(
"SELECT *
FROM schools
WHERE uid='$sid'");

while($row = mysql_fetch_array($getsid)) {
    $origver = $row['verification'];
    }

if ($pwd != $conf) {
        header('Location: register.php?error=1');
    }
elseif ($ver != $origver) {
    header('Location: register.php?error=2');
    }
else {

仅供参考,$ver是用户 B 输入的验证号,用于匹配$origver.

4

1 回答 1

0

看来您必须添加一些调试语句才能查看发生了什么

var_dump($sid);
$getsid = mysql_query(
"SELECT *
FROM schools
WHERE uid='$sid'");

while($row = mysql_fetch_array($getsid)) {
    var_dump($row);
    $origver = $row['verification'];
}

var_dump($pwd, $conf);
if ($pwd != $conf) {
        header('Location: register.php?error=1');
于 2012-12-09T20:19:15.390 回答