Espace membre
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
salut tous: Mercie pour votre aide d'avance
voici le code que php de ma page connexion.php le problème est la suivante ,le serveur m'envoi un message d’erreur ( PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given)
le code php:
//////
voici le code que php de ma page connexion.php le problème est la suivante ,le serveur m'envoi un message d’erreur ( PHP Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given)
le code php:
///////////// } else { $ousername = ''; //On verifie si le formulaire a ete envoye if(isset($_POST['username'], $_POST['password'])) { //On echappe les variables pour pouvoir les mettre dans des requetes SQL if(get_magic_quotes_gpc()) { $ousername = stripslashes($_POST['username']); $[/contents/1347-wsh-objet-wshnetwork username] = mysql_real_escape_string(stripslashes($_POST['username'])); $password = stripslashes($_POST['password']); } else { $username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; } //On recupere le mot de passe de lutilisateur $req = mysql_query('select password,id from users where username="'.$username.'"'); $dn = mysql_fetch_array($req); //On le compare a celui quil a entre et on verifie si le membre existe if($dn['password']==$password and mysql_num_rows($req)>0) { //Si le mot de passe es bon, on ne vas pas afficher le formulaire $form = false; //On enregistre son pseudo dans la session username et son identifiant dans la session userid $_SESSION['username'] = $_POST['username']; $_SESSION['userid'] = $dn['id'];
//////
EDIT : Ajout des balises de code
A voir également:
- Espace membre
- Espace insécable - Guide
- Espace de stockage gmail plein - Guide
- Membre indisponible vinted - Guide
- Espace stockage google - Guide
- Liberer espace ipad - Guide
5 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, après
je te suggère:
$req = mysql_query, tu dois vérifier que $req n'est pas faux. si il est faux, la requête a retourné une erreur, tu ne peux pas faire mysql_fetch_array.
je te suggère:
$sql='select password,id from users where username="'.$username.'"' $req = mysql_query($sql); if (!$req) { echo "erreur sql: ".$sql } else { $dn = mysql_fetch_array($req); .... }
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
1 584
Tu pourrais aussi ajouter le mot de passe dans le where, pour éviter de le vérifier ensuite.
le code que j-ai mis et la suivante :est même message d'erreur
<php> //Si lutilisateur est connecte, on le deconecte if(isset($_SESSION['username'])) { //On le deconecte en supprimant simplement les sessions username et userid unset($_SESSION['username'], $_SESSION['userid']); <php> <div class="message">Vous avez bien été déconnecté.<br /> <a href="<?php echo $url_home; ?>">Accueil</a></div> <php> } else { $ousername = ''; //On verifie si le formulaire a ete envoye if(isset($_POST['username'], $_POST['password'])) { //On echappe les variables pour pouvoir les mettre dans des requetes SQL if(get_magic_quotes_gpc()) { $ousername = stripslashes($_POST['username']); $username = mysql_real_escape_string(stripslashes($_POST['username'])); $password = stripslashes($_POST['password']); } else { $username = mysql_real_escape_string($_POST['username']); $password = $_POST['password']; } //On recupere le mot de passe de lutilisateur $sql='select password,id from users where username="'.$username.'"' $req = mysql_query($sql); if (!$req) { echo "erreur sql: ".$sql } else { $dn = mysql_fetch_array($req); //On le compare a celui quil a entre et on verifie si le membre existe if($dn['password']==$password and mysql_num_rows($req)>0) { //Si le mot de passe es bon, on ne vas pas afficher le formulaire $form = false; //On enregistre son pseudo dans la session username et son identifiant dans la session userid $_SESSION['username'] = $_POST['username']; $_SESSION['userid'] = $dn['id']; } } } else { //Sinon, on indique que la combinaison nest pas bonne $form = true; $message = 'La combinaison que vous avez entré n\'est pas bonne.'; } } else { $form = true; } if($form) { //On affiche un message sil y a lieu if(isset($message)) { echo '<div class="message">'.$message.'</div>'; } //On affiche le formulaire
EDIT : Ajout des balises de code !
//////////Mercie bien/////////
Bonjour,
1 - A l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum. (j'ai édité tes messages pour les ajouter)
2 - Tu utilises l'ancienne extension mysql considérée comme obsolète.
Je t'invite vivement à passer à mysqli ou à pdo.
=> https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
3 - Si tu passes à PDO, voici un exemple de code qui pourrait te servir :
https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
1 - A l'avenir, merci d'utiliser les balises de code pour poster ton code sur le forum. (j'ai édité tes messages pour les ajouter)
- icone en forme de <> dans la barre de menu.
2 - Tu utilises l'ancienne extension mysql considérée comme obsolète.
Je t'invite vivement à passer à mysqli ou à pdo.
=> https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
3 - Si tu passes à PDO, voici un exemple de code qui pourrait te servir :
https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
<<Tu utilises l'ancienne extension mysql considérée comme obsolète.>>
est ce que c'est possible que j'utilise ce code en modifiant les paramètres panel du serveur
Mercie bien....
est ce que c'est possible que j'utilise ce code en modifiant les paramètres panel du serveur
Mercie bien....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question