Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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 检查登录时是否未激活激活代码&引用;只有";激活码_Php_Mysql_Select - Fatal编程技术网

Php 检查登录时是否未激活激活代码&引用;只有";激活码

Php 检查登录时是否未激活激活代码&引用;只有";激活码,php,mysql,select,Php,Mysql,Select,这是我在登录时使用的代码: $q = $lacz->query("SELECT email, pass, activation_code FROM users WHERE email='". $nazwa_uz_l ."' AND pass = '"

这是我在登录时使用的代码:

            $q = $lacz->query("SELECT email, pass, activation_code
                                    FROM users
                                    WHERE  email='". $nazwa_uz_l ."' 
                                    AND pass = '". $haslo_l ."' 
                                    AND activation_code IS NULL ");     

        if($q->num_rows>0) {
            $_SESSION['prawid_uzyt'] = $nazwa_uz_l; }
        else 
        {
            echo 'Pass or Log are wrong, or activation code is not confirmed (check email).';
            exit;
        }

在这个查询中,我检查了所有三件事:电子邮件、密码和激活码,然后输出一个错误。我想做的是当Pass或Log错误时输出第一个错误,当激活码不为NULL时输出第二个错误(类似于elseif)。我尝试了另外两个if和两个查询,但都出现了错误。你能帮助我吗?我检查答案并打分,谢谢。

不要在查询中检查激活码。只需获取用户信息以及激活码字段:

SELECT email, pass, activation_code
..
WHERE email='foo' and pass='bar'
然后,您可以测试代码中的各个条件:

if (number_of_rows == 0) {
   ... bad username/password
} else if ($activation_code == '') {
   ... code is blank/null
}

不要在查询中检查激活代码。只需获取用户信息以及激活码字段:

SELECT email, pass, activation_code
..
WHERE email='foo' and pass='bar'
然后,您可以测试代码中的各个条件:

if (number_of_rows == 0) {
   ... bad username/password
} else if ($activation_code == '') {
   ... code is blank/null
}

不要在查询中检查激活代码。只需获取用户信息以及激活码字段:

SELECT email, pass, activation_code
..
WHERE email='foo' and pass='bar'
然后,您可以测试代码中的各个条件:

if (number_of_rows == 0) {
   ... bad username/password
} else if ($activation_code == '') {
   ... code is blank/null
}

不要在查询中检查激活代码。只需获取用户信息以及激活码字段:

SELECT email, pass, activation_code
..
WHERE email='foo' and pass='bar'
然后,您可以测试代码中的各个条件:

if (number_of_rows == 0) {
   ... bad username/password
} else if ($activation_code == '') {
   ... code is blank/null
}

如果从查询的
WHERE
子句中删除
且激活\u代码为NULL
,则可以提取与给定电子邮件/密码匹配的用户的数据。这样,您就可以确定该用户是否存在,或者其激活码是否为空:

$q = $lacz->query("SELECT email, pass, activation_code
        FROM users
        WHERE  email='". $nazwa_uz_l ."' 
        AND pass = '". $haslo_l ."'");

if ($q->num_rows === 0) {
    echo 'Password or email address are wrong.';
    exit;
} else {
    $row = $result->fetch_assoc();
    if (empty($row['activation_code'])) {
        echo 'Activation code is not confirmed.';
        exit;
    } else {
        $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
    }
}

旁注(与答案无关):我强烈建议使用参数化查询,而不是直接将值插入SQL;如果您喜欢当前方式,请确保首先清理输入以防止SQL注入。

如果从查询的
WHERE
子句中删除
并且激活代码为NULL
,则您将能够提取与给定电子邮件/密码匹配的用户的数据。这样,您就可以确定该用户是否存在,或者其激活码是否为空:

$q = $lacz->query("SELECT email, pass, activation_code
        FROM users
        WHERE  email='". $nazwa_uz_l ."' 
        AND pass = '". $haslo_l ."'");

if ($q->num_rows === 0) {
    echo 'Password or email address are wrong.';
    exit;
} else {
    $row = $result->fetch_assoc();
    if (empty($row['activation_code'])) {
        echo 'Activation code is not confirmed.';
        exit;
    } else {
        $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
    }
}

旁注(与答案无关):我强烈建议使用参数化查询,而不是直接将值插入SQL;如果您喜欢当前方式,请确保首先清理输入以防止SQL注入。

如果从查询的
WHERE
子句中删除
并且激活代码为NULL
,则您将能够提取与给定电子邮件/密码匹配的用户的数据。这样,您就可以确定该用户是否存在,或者其激活码是否为空:

$q = $lacz->query("SELECT email, pass, activation_code
        FROM users
        WHERE  email='". $nazwa_uz_l ."' 
        AND pass = '". $haslo_l ."'");

if ($q->num_rows === 0) {
    echo 'Password or email address are wrong.';
    exit;
} else {
    $row = $result->fetch_assoc();
    if (empty($row['activation_code'])) {
        echo 'Activation code is not confirmed.';
        exit;
    } else {
        $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
    }
}

旁注(与答案无关):我强烈建议使用参数化查询,而不是直接将值插入SQL;如果您喜欢当前方式,请确保首先清理输入以防止SQL注入。

如果从查询的
WHERE
子句中删除
并且激活代码为NULL
,则您将能够提取与给定电子邮件/密码匹配的用户的数据。这样,您就可以确定该用户是否存在,或者其激活码是否为空:

$q = $lacz->query("SELECT email, pass, activation_code
        FROM users
        WHERE  email='". $nazwa_uz_l ."' 
        AND pass = '". $haslo_l ."'");

if ($q->num_rows === 0) {
    echo 'Password or email address are wrong.';
    exit;
} else {
    $row = $result->fetch_assoc();
    if (empty($row['activation_code'])) {
        echo 'Activation code is not confirmed.';
        exit;
    } else {
        $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
    }
}
旁注(与答案无关):我强烈建议使用参数化查询,而不是直接将值插入SQL;如果您喜欢当前方式,请确保首先清理输入以防止SQL注入。

从查询中删除“且激活代码为空”,然后执行以下操作

if($q->num_rows>0) 
{
  $row = $q->fetch_assoc();
  if(!is_null($row['activation_code']))
  {
    $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
  }
  else 
  {
    echo 'Activation code is not confirmed (check email).';
    exit;
  }
}
else 
{
  echo 'Pass or Log are wrong.';
  exit;
}
从查询中删除“并且激活代码为空”,然后执行以下操作

if($q->num_rows>0) 
{
  $row = $q->fetch_assoc();
  if(!is_null($row['activation_code']))
  {
    $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
  }
  else 
  {
    echo 'Activation code is not confirmed (check email).';
    exit;
  }
}
else 
{
  echo 'Pass or Log are wrong.';
  exit;
}
从查询中删除“并且激活代码为空”,然后执行以下操作

if($q->num_rows>0) 
{
  $row = $q->fetch_assoc();
  if(!is_null($row['activation_code']))
  {
    $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
  }
  else 
  {
    echo 'Activation code is not confirmed (check email).';
    exit;
  }
}
else 
{
  echo 'Pass or Log are wrong.';
  exit;
}
从查询中删除“并且激活代码为空”,然后执行以下操作

if($q->num_rows>0) 
{
  $row = $q->fetch_assoc();
  if(!is_null($row['activation_code']))
  {
    $_SESSION['prawid_uzyt'] = $nazwa_uz_l;
  }
  else 
  {
    echo 'Activation code is not confirmed (check email).';
    exit;
  }
}
else 
{
  echo 'Pass or Log are wrong.';
  exit;
}

获取具有相应电子邮件地址的行并在php中检查其余部分。获取具有相应电子邮件地址的行并在php中检查其余部分。获取具有相应电子邮件地址的行并在php中检查其余部分。获取具有相应电子邮件地址的行并在php中检查其余部分。