Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: m0ka le le 10-02-2009 a 18:02:09

Titre: probleme Urgent !
Posté par: m0ka le le 10-02-2009 a 18:02:09

Alors voilà mon code de connexion a un site (j'ai voulu créer une zone membre)

Je ferais la sécurisation de la BDD après, pour ne pas vous noyer sous le code =p


Code:
<?php
session_start();
require 'zone_membres_conf.php';

// connexion BDD
   mysql_connect($mysql_host,$mysql_login,$mysql_passe) OR die('<p>Connexion impossible à la base de données. Réessayez plus tard.</p>');
   mysql_select_db($mysql_base) OR die('<p>Impossible de sélectionner la base</p>');
   
   
   //récup + sécurisations des variables
   $login = addslashes($_POST['form_login']);
   $passe = addslashes($_POST['form_passe']);
   $style = addslashes($_POST['choix']);
   
   
   // création requete mysql
   $requete = ('SELECT * FROM membres WHERE pseudo = ' .$login. 'AND WHERE passe=' .$passe. '') OR die (mysql_error());
   
   //my_fetch_row
   $données = (mysql_fetch_array($requete));
   
//code
      
   
if(isset($login) AND isset($style ) AND isset ($passe)) //si les variables existe
{
   if( $données['passe'] == $passe) //si le passe correspond
   {
      echo 'bonjour ' .$login. ' bienvenue dans votre zone membre .';
   }

   else
   {
      echo 'dmg'; //si le passe ne correspond pas
   }   
}

   


else //si les variables n'éxiste pas
{
   echo 'votre connexion a échouer pour une raison inconnue, réessailler plus tard';
}



   

?>


Ca m'affiche ce message d'erreur :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\the_last_star\zone_membres_zonemembre.php on line 20

Si quelqu'un peut m'aider

Titre: Re:probleme Urgent !
Posté par: pppplus le le 10-02-2009 a 18:42:42

Vérifie s'il y a une réponse avant :

if(mysql_num_rows($requete)>0)$donnees = mysql_fetch_array($requete);

J'enlèverai l'accent à $donnees par principe.

Titre: Re:probleme Urgent !
Posté par: m0ka le le 10-02-2009 a 19:01:35

Citation de: pppplus le le 10-02-2009 a 18:42:42
Vérifie s'il y a une réponse avant :

if(mysql_num_rows($requete)>0)$donnees = mysql_fetch_array($requete);

J'enlèverai l'accent à $donnees par principe.



Merci de ta reponse. Mais je ne veut pas recopier bêtement =p Tu peut m'expliquer un peut ta ligne ? je comprends pas tout

Titre: Re:probleme Urgent !
Posté par: pppplus le le 10-02-2009 a 19:07:51

mysql_num_rows($requete) teste le nombre de réponse de ta requête $requete.

Si c'est supérieur à 0, c'est que tu as qq chose, sinon tu n'as rien, d'où l'erreur mysql_fetch_array.

Titre: Re:probleme Urgent !
Posté par: Krash le le 10-02-2009 a 20:52:09

Dans ton code tu as ceci
Citation:
$requete = ('SELECT * FROM membres WHERE pseudo = ' .$login. 'AND WHERE passe=' .$passe. '') OR die (mysql_error());



il faudrait peut etre executer cette requete non ?

Citation:
$requete = mysql_query('SELECT * FROM membres WHERE pseudo = ' .$login. 'AND WHERE passe=' .$passe. '') OR die (mysql_error());

Titre: Re:probleme Urgent !
Posté par: pppplus le le 10-02-2009 a 21:13:28

oh oui énorme ! même pas vu l'oubli ! ;D

Titre: Re:probleme Urgent !
Posté par: m0ka le le 11-02-2009 a 15:08:39

Citation de: Krash le le 10-02-2009 a 20:52:09
Dans ton code tu as ceci
Citation:
$requete = ('SELECT * FROM membres WHERE pseudo = ' .$login. 'AND WHERE passe=' .$passe. '') OR die (mysql_error());



il faudrait peut etre executer cette requete non ?

Citation:
$requete = mysql_query('SELECT * FROM membres WHERE pseudo = ' .$login. 'AND WHERE passe=' .$passe. '') OR die (mysql_error());



Mais oui je suis bête même pas vu l'erreur ! Bon je change ca et je vais voir ce que ca donne :P


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.