Formulaire de connexion [Résolu]

Signaler
-
cs_stay
Messages postés
493
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
-
bonjour je ss debutant en php
mon problème et les suivant j'ai crée un formulaire de connexion mais j'ai message d'erreur


voici le code
pour information j'ai crée une page index et autre nommée login pour faire le traitement dont vous voyer le code
<?php

session_start();


if(isset($_post['submit']))
{

$username=htmlspecialchars(trim($_post['usename']));
$password=htmlspecialchars(trim($_post['password']));
  if($username&&$password)
  {
  
  }else echo " veuilliez remplire tous les chapms"; 

}
 $connect = mysql_connect('localhost','root','');
 mysql_select_db('inventaire');
 
 $log = mysql_query("SELECT * FROM ulistaeur WHERE username='username'AND password='password'");
 
 $rows=mysql_num_rows($log);
 if($rows==1)
 {
 $_session['username']=$username;
 header('location:acceuil.php'); 
 }else echo "Nom d'utilisateur ou mot de passe incorrect";


?>


merci

7 réponses

Messages postés
493
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
Salut, faite attention à la version du serveur MySQL que vous utilisez avec cette fonction d’échappement.
Lire ceci API recommandé et ceci Pourquoi PDO plutôt qu'un autre ?.

Je conseil PDO.

stéph
Messages postés
493
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
Salut, le printscreen est illisible car l'image est trop petite mais je crois que l'erreur vient de la requête SQL.
Il n'y a pas d'espace avant le AND dans la clause WHERE.

stéph
je vous remercie pour votre réponse merci
Messages postés
493
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
Avec plaisir :)

stéph
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Bonjour

Juste quelques petits détails supplémentaires:
- Avant de mettre les valeurs envoyées par le formulaire dans la requête, il vaut mieux échapper les caractères à risque pour éviter l'injection SQL.
ex :
$username = mysql_real_escape_string ($username);


- Tu as écris ulistaeur au lieu de utilisateur comme nom de table dans la requête
- Je pense qu'il faut mettre des $ devant les noms de variables dans la requête : WHERE username='$username' AND password='$password'
- Tu as des fautes de frappe dans ton message d'erreur : Veuillez remplir tous les champs
merci pour le tout
Messages postés
493
Date d'inscription
jeudi 7 juillet 2005
Statut
Membre
Dernière intervention
24 mai 2017
2
:)