Probleme requete SQL
Résolu
wildchildforlife
Messages postés
74
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour j'ai un probleme sur ma requete je comprend pas pourquoi sa marche pas, voila ma requete :
if ( isset ($_POST['login']) AND isset ($_POST['mot_de_passe_connexion']))
{
mysql_connect ('localhost', 'root', '' );
mysql_select_db ('capital_torrent') ;
//RECUPERATION DES VARIABLES ENTRE PAR LUTILISATEUR
$login_entre_par_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['login'])) ;
$mot_de_passe_entre_par_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe_connexion'])) ;
//VERIFICATION DES DONNEES DANS LA BD
$verification_donnees = mysql_query("SELECT pseudo, mot_de_passe FROM utilisateurs WHERE pseudo = '$login_entre_par_utilisateur' AND mot_de_passe = '$mot_de_passe_entre_par_utilisateur' ") ;
//JE FAIS UN ECHO POUR VOIR SI LE PROBLEM PROVIEN DES DONNEES SAISI DANS LE FORMULAIRES, MAIS NON IL MAFFICHE EXACTEMENT CE QUI A ETE SAISI
echo $verification_donnees . '++++++' . $login_entre_par_utilisateur . '+++++++' . $mot_de_passe_entre_par_utilisateur ;
$nombre_resultat = mysql_num_rows($verification_donnees) ;
echo '++++++' . $nombre_resultat ; //SA MAFFICHE TOUJOURS 0
if ($nombre_resultat >= 1 ) // SI IL YA UN RESULTAT
{
$_SESSION['login'] = $login_entre_par_utilisateur ;
$_SESSION['mot_de_passe'] = $mot_de_passe_entre_par_utilisateur ;
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
else if ($nombre_resultat == 0 ) // SI AUCUN RESULTAT NA ETE TROUVE PAR LA REQUETE
{
?>
<p>Sans resultat</p>
<?php
}
}
?>
PS : dans ma requete quand jenleve la partie "AND mot_de_passe = '$mot_de_passe_entre_par_utilisateur' " sa marche trés bien ce qui est incensé vu que les donnees saisis se trouvent exactement dans ma bd !! merci de bien vouloir m'aider !!
if ( isset ($_POST['login']) AND isset ($_POST['mot_de_passe_connexion']))
{
mysql_connect ('localhost', 'root', '' );
mysql_select_db ('capital_torrent') ;
//RECUPERATION DES VARIABLES ENTRE PAR LUTILISATEUR
$login_entre_par_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['login'])) ;
$mot_de_passe_entre_par_utilisateur = mysql_real_escape_string(htmlspecialchars($_POST['mot_de_passe_connexion'])) ;
//VERIFICATION DES DONNEES DANS LA BD
$verification_donnees = mysql_query("SELECT pseudo, mot_de_passe FROM utilisateurs WHERE pseudo = '$login_entre_par_utilisateur' AND mot_de_passe = '$mot_de_passe_entre_par_utilisateur' ") ;
//JE FAIS UN ECHO POUR VOIR SI LE PROBLEM PROVIEN DES DONNEES SAISI DANS LE FORMULAIRES, MAIS NON IL MAFFICHE EXACTEMENT CE QUI A ETE SAISI
echo $verification_donnees . '++++++' . $login_entre_par_utilisateur . '+++++++' . $mot_de_passe_entre_par_utilisateur ;
$nombre_resultat = mysql_num_rows($verification_donnees) ;
echo '++++++' . $nombre_resultat ; //SA MAFFICHE TOUJOURS 0
if ($nombre_resultat >= 1 ) // SI IL YA UN RESULTAT
{
$_SESSION['login'] = $login_entre_par_utilisateur ;
$_SESSION['mot_de_passe'] = $mot_de_passe_entre_par_utilisateur ;
echo '<meta http-equiv="refresh" content="0;URL=index.php">';
}
else if ($nombre_resultat == 0 ) // SI AUCUN RESULTAT NA ETE TROUVE PAR LA REQUETE
{
?>
<p>Sans resultat</p>
<?php
}
}
?>
PS : dans ma requete quand jenleve la partie "AND mot_de_passe = '$mot_de_passe_entre_par_utilisateur' " sa marche trés bien ce qui est incensé vu que les donnees saisis se trouvent exactement dans ma bd !! merci de bien vouloir m'aider !!
A voir également:
- Probleme requete SQL
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Requête bloquée par le pare-feu applicatif claranet webfence ✓ - Forum Réseaux sociaux
- Jointure sql ✓ - Forum MySQL
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
Pour éviter la faille XSS (injection de code HTML) : utilise la fonction htmlspecialchars() lors de l'affichage (echo, print, ...) du texte. Et n'oublie pas le stripslashes().