sql >> データベース >  >> RDS >> Mysql

PHPログインpassword_verify

    <?php
    
    $stmt = $conn->prepare("SELECT username, password FROM users WHERE username = ?");
    $stmt->bind_param('s', $username);
    
    $username = $_POST['ulogin'];
    $password = $_POST['upassword'];
    
    $stmt->execute();
    $stmt->bind_result($username, $password);
    $row = $stmt->fetch(); //fetch DB results
    
    
    if (!empty($row)) { // checks if the user actually exists(true/false returned)
        if (password_verify($_POST['upassword'], $row['password'])) {
            echo 'success'; // password_verify success!
        } else {
        echo 'failed';
        }
    } else {
        echo "This user does not exist"; //email entered does not match any in DB
    }
    
    $stmt->close();
    $conn->close();
    

    必ずしも行数を確認する必要はありません。何らかの理由でパスワードが確認されない場合は、elseステートメントもあります



    1. Eloquentを介して等しい値を持つlaravelの2つの列を見つけますか?

    2. ブール値の格納に使用するMySQLデータ型

    3. C#およびMySQL .NETコネクタ-汎用クラスでのSQLインジェクション攻撃を防ぐ方法はありますか?

    4. PLSQLでEXISTS条件が機能しない場合