为了账号安全,请及时绑定邮箱和手机立即绑定

如何验证用户的帐户是否在 PHP 中被接受或仍处于待处理状态?

如何验证用户的帐户是否在 PHP 中被接受或仍处于待处理状态?

PHP
三国纷争 2021-07-05 13:07:55
我需要一个 php 文件,如果用户尝试登录,该 php 文件将获取用户名和密码,如果正确,它将继续检查状态,如果用户的帐户已被批准或仍在等待中。因此,如果用户的帐户被批准,它将打印“1”,如果仍在等待中,它将打印“2”,如果用户的用户名和密码不正确,它将只打印“3”。问题是在 PHP 文件检查用户的用户名和密码后,它应该再次检查数据库,如果该帐户已首先批准或仍在进行中,则在打印“1”或“2”之前<?php$user_name = filter_input(INPUT_POST, "user_name");$user_pass = filter_input(INPUT_POST, "user_pass");$mysqli = new mysqli("server", "username", "password", "db");$result = mysqli_query($mysqli, "SELECT * FROM user_info WHERE user_name='$user_name' AND user_pass = MD5('".$user_pass."')");if ($data = mysqli_fetch_array($result)){     $status = mysqli_query($mysqli, "SELECT `status` FROM `user_info` WHERE `user_name`='$user_name'");    $data2 = mysqli_fetch_object($status);    if  ($data2 = "Approved") {        echo '1';    } else if ($data2 = "Pending") {        echo '2';    }} else {echo '3';}?>
查看完整描述

1 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

您不需要进行两次查询。$data包含用户的行,因此您可以在那里检查状态。


<?php


$user_name = filter_input(INPUT_POST, "user_name");

$user_pass = filter_input(INPUT_POST, "user_pass");


$mysqli = new mysqli("server", "username", "password", "db");


$result = mysqli_query($mysqli, "SELECT * FROM user_info WHERE user_name='$user_name' AND user_pass = MD5('".$user_pass."')");


if ($data = mysqli_fetch_array($result)){ 

    if ($data['status'] == 'Approved') {

        echo '1';

    } else if ($data['status'] = "Pending") {

        echo '2';

    }

} else {

    echo '3';

}

?>


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号