Hey, j'ai un petit problème lorsque j'envoie une requette j'ai une message d'erreur lorsque je remplie le champs :

Warning: PDO::query(): SQLSTATE[42S22]: Column not found: 1054 Unknown column 'da39a3ee5e6b4b0d3255bfef95601890afd80709' in 'where clause' in C:\wamp\www\portfolio\login.php on line 9

Mon code de la page :

<?php $auth = 0; ?>
<?php include 'lib/includes.php'; ?>
<?php include 'partials/header.php'; ?>

<?php
if(isset($_POST['username']) && isset($_POST['password'])){
    $username = $db->quote($_POST['username']);
    $password = sha1($_POST['password']); 
    $db->query("SELECT * FROM users WHERE username=$username AND password=$password");
}
?>

<form action="#" method="post">
    <div class="form-group">
        <label for="username">Nom d'utilisateur</label>
        <?= input('username'); ?>
    </div>
    <div class="form-group">
        <label for="password">Mot de passe</label>
        <input type="password" class="form-control" id="password" name="password">
    </div>
    <button type="submit" class="btn btn-default">Se connecter</button>
</form>

<?php include 'partials/footer.php'; ?>

Voilà si vous pouvez m'aider :) Sa sera gentil de votre part ^^'

2 réponses


Keller
Réponse acceptée

Et en changeant ça

$db->query("SELECT * FROM users WHERE username=$username AND password=$password");

par

$db->query("SELECT * FROM users WHERE username='$username' AND password='$password' ");

salut! essaie de troquer la partie concernee par ce bout de code...

<?php
if(isset($_POST['username']) && isset($_POST['password'])){
    $donnees = array(
         "username" => $_POST['username'],
         "password" => $_POST['password']
    );
    $sql = "SELECT * FROM users WHERE username = :username AND password = :password";
    $req_preparee = $db->prepare($sql);
    $req_preparee->execute($donnees);
}
?>