微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

函数没有被回调给登录用户

如何解决函数没有被回调给登录用户

我正在尝试创建一个登录系统,但它似乎没有用“准备好的语句”回调以前的函数,并且无法继续登录。 我遇到的问题是登录页面返回错误消息,指出“用户名不存在”(uid 存在函数似乎无法正常工作,因为如果为真,它只返回“数组”如果为假,则不会回显任何内容)。但是,用户数据库上有一个帐户。我尝试同时使用用户名和电子邮件进行登录(结果相同)。

以下是我在 functions.PHP 文件中使用的两个函数

<?PHP

function uidExists($conn,$username,$email)
{
    $sql = "SELECT * FROM users WHERE username = ? OR user_email = ?;";
    $stmt = MysqLi_stmt_init($conn);
    if (!MysqLi_stmt_prepare($stmt,$sql)) {
        header("location: ../../pages/register.PHP?error=stmtfaild");
        exit();
    }

    MysqLi_stmt_bind_param($stmt,"ss",$email);
    MysqLi_stmt_execute($stmt);

    $resultData = MysqLi_stmt_get_result($stmt);

    if ($row = MysqLi_fetch_assoc($resultData)) {
        return $row;
    } else {
        $result = false;
        return $result;
    }
    MysqLi_stmt_close($stmt);
}

function loginUser($conn,$pwd)
{
    $userNameExists = uidExists($conn,$username);

    if ($userNameExists === false) {
        header("location: ../../pages/login.PHP?login=Usernamenotexists");
        exit();
    }

    $pwdHashed = $userNameExists["user_password"];
    $checkPwd = password_verify($pwd,$pwdHashed);

    if ($checkPwd === false) {
        header("location: ../../pages/login.PHP?login=incorrectpassword");
        exit();
    } elseif ($checkPwd === true) {
        session_start();
        $_SESSION["userid"] = $userNameExists["id"];
        $_SESSION["username"] = $userNameExists["username"];
        header("location: ../../pages/index.PHP");
        exit();
    }
}

我还在此处包含了 login.PHP 文件

<?PHP

if (isset($_POST['login-btn'])) {
    $username = $_POST['username']; //protect aganst hacker
    $pwd = $_POST['password']; //protect aganst hacker using MysqLi long way

    require_once "connection.PHP";
    require_once "functions.PHP";

    if (emptyFieldLogin($username,$pwd) !== false) {
        header("location: ../../pages/login.PHP?login=empty");
        exit();
    }
    loginUser($conn,$pwd);
} else {
    header("location: ../../pages/login.PHP");
    exit();
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。