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中检查其余部分。