Maison  >  Questions et réponses  >  le corps du texte

PDO tente d'accéder au décalage du tableau d'une valeur de type bool

Alors ça me rend fou ! Si le nom d'utilisateur est correct, il compare parfaitement le mot de passe, mais si le nom d'utilisateur est erroné, la comparaison n'a pas lieu et cela me renvoie cette erreur. Je souhaite comparer la valeur de la base de données avec la valeur saisie par l'utilisateur.

<?php
$nm = $_POST['nm'];
$pw = $_POST['pw'];

try{
    $pdo = new PDO('mysql:host=localhost;dbname=gold-market_main', 'root', '');
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e) {
    echo "Connection failed: ".$e->getMessage();
    die();
}

if($nm == null){
    die("Feld darf nicht leer sein!");
} elseif(ctype_alpha($nm[0]) or ctype_digit($nm[0])){



$sql = "SELECT k_nutzername, k_passwort FROM kunden WHERE k_nutzername IN('$nm');";
$result = $pdo->query($sql);
$row = $result->fetch(PDO::FETCH_ASSOC);

if("{$row['k_nutzername']}" != $nm) {
    //header("Location: login_wrongUN.html");     
    print("nm wrong");  
} elseif("{$row['k_passwort']}" != $pw) {
    //header("Location: login_wrongPW.html");  
    print("pw wrong"); 
} else {
    header("Location: konto.html");
}   

}else{
    die("Nutzername muss mit einem buchstaben oder einer Zahl beginnen!");
}
    $pdo = null;
?>

P粉512729862P粉512729862181 Il y a quelques jours405

répondre à tous(1)je répondrai

  • P粉184747536
  • Annulerrépondre