Porblème de requete à partir d'une fontion dans php

Eléphanteau du PHP | 37 Messages

29 août 2007, 13:09

Bonjour,
Il me reste un problème que je n'arrive pas à résoudre sur mon formulaire (interface flash - php - mysql)
J'utilise une fonction login accéssible par l'utilsateur pour accéder aux parties privées du site :
Voici :
function login($email,$pass)
{
   
   GLOBAL $db,$table,$table2;
   $email = trim($email);
   $pass = trim($pass);
// je fait une requete dans la table contenant les membres qui ont validé leur inscription
   $query = mysql_query("SELECT membrePseudo, membrePass, membreNom, membrePrenom, membreNaissance, membreVille, membreAdresse, membreCp, membreNiveau, membreFille, membreGarcon, membreNewsletter, membrePhrase from $table2 WHERE membreEmail = '".$email."' AND membrePass = '".$pass."'");
   $num = mysql_num_rows($query);  
//si pas trouvé alors :  
if($num == 0) {
// je fait une requete dans la table contenant les membres provisoires (ceux qui n'ont pas validé leur inscription)
$verif = mysql_query("SELECT membrePseudo, membrePass, membreNom, membrePrenom, membreNaissance, membreVille, membreAdresse, membreCp, membreNiveau, membreFille, membreGarcon, membreNewsletter, membrePhrase from $table WHERE membreEmail = '".$email."' AND membrePass = '".$pass."'");
$nume = mysql_num_rows($verif); 

   if(!$verif)
   {
      return "error=" . mysql_error();
   } else {
   if($nume == 0) {
   return "error=memberNotFound";
} else{
   return "error=memberNotActivate";
} //end
}} else{
// ICI LE MENBRE EST IDENTIFIE et je souhaite donc retourner vers flash tous les paramètres concernant cet utilisateur : pseudo... J'ai essayé avec le pseudo mais j'ai dans mon champ texte sur mon interface flash undefined ! Je trouve pas mon erreur.
return "error=memberOk";
$row = mysql_fetch_array($query);
$pseudo = $row['membrePseudo'];  
return "membrePseudo=$pseudo"; 
}}
Pour le retour vers le formulaire j'utilise la fonction suivante :
if(isset($HTTP_POST_VARS["action"]))
{
   switch($HTTP_POST_VARS["action"])
   {
      case "register":
         $result = register($HTTP_POST_VARS['pseudo'],$HTTP_POST_VARS['pass'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['nom'],$HTTP_POST_VARS['prenom'],$HTTP_POST_VARS['naissance'],$HTTP_POST_VARS['ville'],$HTTP_POST_VARS['adresse'],$HTTP_POST_VARS['cp'],$HTTP_POST_VARS['niveau'],$HTTP_POST_VARS['fille'],$HTTP_POST_VARS['garcon'],$HTTP_POST_VARS['newsletter'],$HTTP_POST_VARS['phrase']);
         print $result;
         break;
      case "login":
         $result = login($HTTP_POST_VARS['email'],$HTTP_POST_VARS['pass']);
          print $result;
         break;
      case "forget":
         $result = forget($HTTP_POST_VARS['email']);
         print $result;
         break;
      case "new_password":
         $result = new_password($HTTP_POST_VARS['username'],$HTTP_POST_VARS['email'],$HTTP_POST_VARS['answer']);
         print $result;
         break;
	
   }
}
Merci pour le temps accordé à mon problème et merci bcp pour une éventuelle réponse.

Vroom
Invité n'ayant pas de compte PHPfrance

29 août 2007, 15:27

Bonjour,

Tu as oublié l'essentiel dans ton message : le problème rencontré ^^

Vroom

Invité
Invité n'ayant pas de compte PHPfrance

29 août 2007, 17:25

Je crois que je l'ai mis dans la partie code dino mon problème est le suivant : lorsque la personne se connecte j'aimerai en retour récupérer toutes les propriétés de cet utilsateur comme son pseudo par exemple et donc l'afficher sur l'interface du formulaire genre " bienvenue 'pseudo' ". Or je n'ai rien en faite si j'ai un undefined
voilà mon problème.

Eléphant du PHP | 217 Messages

30 août 2007, 07:51

Salut,
c'est normal :)
au dernier else tu fais : return "error=memberOk";
Donc tout ce qui est après n'est pas évalué, l'interpreteur à quitté la fonction.

Invité
Invité n'ayant pas de compte PHPfrance

30 août 2007, 08:11

Comment faut-il faire alors ? on ne peut donc pas faire plusieurs retour de valeur de variables différentes ?

Mammouth du PHP | 1511 Messages

30 août 2007, 08:40

Si, tu peux renvoyer plusieurs valeurs :)
Il suffit de les assembler dans une variable puis de les renvoyer via return.
@+

Invité
Invité n'ayant pas de compte PHPfrance

30 août 2007, 09:01

un truc dans ce genre :
$result ="&error=memberOk&membrePseudo=$pseudo& ? c'est comme cela qu'il faut retourner l'ensemble des valeurs des variables ?

Eléphanteau du PHP | 37 Messages

30 août 2007, 21:31

Personne pour me guider pour l'envoie de plusieurs variables ??

Mammouth du PHP | 693 Messages

30 août 2007, 22:02

Tu les mets dans un tableau.

Eléphanteau du PHP | 37 Messages

30 août 2007, 22:07

Peux tu me donner un exemple ?

Mammouth du PHP | 693 Messages

30 août 2007, 22:11

tu veux retourner $var,$var2 et $var3

tu fais
$array=array('var1'=>$var1,'var2'=>$var2,'var3'=>$var3);
return $array
Ensuite, tu accède à tes variable comme un tableau normal.

Invité
Invité n'ayant pas de compte PHPfrance

30 août 2007, 22:13

Ok merci bcp je vais essayer d'utiliser le tableau pour envoyer les valeurs des varaibles, si cela ne fonctionne pas alors le problème est ailleurs. Je vous tiens au courant.
Merci