Erreur incompréhensible
xander18
Messages postés
78
Statut
Membre
-
Pitet Messages postés 2845 Statut Membre -
Pitet Messages postés 2845 Statut Membre -
Bonjour, j'ai créer un formulaire de connexion hors j'obtiens tj la même erreur sur ma requete et je vois pas d'ou cela pourrais venir merci de votre aide.
form connexion :
traitement php :
merci de votre aide
form connexion :
<form action="connexion.php" method="post">
<label for="" style="color: #fff;">Identifiant</label>
<div class="form-group">
<input class="form-control" type="text" name="username" placeholder="Identifiant" required>
</div>
<label for="" style="color: #fff;">Mot de passe</label>
<div class="form-group">
<input class="form-control" type="password" name="pass" placeholder="Mot de passe" required>
</div>
<div class="form-group">
<button class="btn btn-primary" type="submit"><i class="fa fa-power-off"></i> Se connecter</button>
</div>
</form>
traitement php :
<?php
$username = $_POST['username'];
$password = md5($_POST['pass']);
$db = new PDO('mysql:host=localhost;dbname=conferences', 'root', '');
if(!empty($username) && !empty($password) ){
$q = $db->query("SELECT * FROM users WHERE username = $username AND pass = $password");
$data = $q->fetch(PDO::FETCH_ASSOC);
var_dump($data);
exit();
if(!$data){
$_SESSION['notification'] = "Merci de bien vouloir vérifier votre identifiant ou votre mot de passe";
header('Location: auth.php');
}else{
session_start();
$_SESSION['id'] = $data['id'];
$_SESSION['username'] = $data['username'];
header('Location: dashboard.php');
}
}else{
$_SESSION['notification'] = "Merci de bien remplir les champs demandées";
header('Location: auth.php');
}
?>
merci de votre aide
A voir également:
- Erreur incompréhensible
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur upes 1025 - Forum Téléviseurs
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
1 réponse
Salut,
Tu dois ajouter des quotes autour des valeurs utilisées dans une requête sql.
Dans l'idéal, il faudrait également éviter les injections sql en échappant les caractères sql. Pour cela deux solutions :
- soit utiliser une requête préparée avec des paramètres nommés
- soit utiliser la méthode quote() de PDO
Un exemple en utilisant la méthode quote() :
Bonne journée
Tu dois ajouter des quotes autour des valeurs utilisées dans une requête sql.
Dans l'idéal, il faudrait également éviter les injections sql en échappant les caractères sql. Pour cela deux solutions :
- soit utiliser une requête préparée avec des paramètres nommés
- soit utiliser la méthode quote() de PDO
Un exemple en utilisant la méthode quote() :
$q = $db->query('SELECT * FROM users WHERE username = ' . $db->quote($username) . ' AND pass = ' . $db->quote($password));
Bonne journée