Page 1 sur 1

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

Posté : 29 août 2007, 13:09
par manheman
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.

Posté : 29 août 2007, 15:27
par Vroom
Bonjour,

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

Vroom

Posté : 29 août 2007, 17:25
par Invité
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.

Posté : 30 août 2007, 07:51
par mojorisin
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.

Posté : 30 août 2007, 08:11
par Invité
Comment faut-il faire alors ? on ne peut donc pas faire plusieurs retour de valeur de variables différentes ?

Posté : 30 août 2007, 08:40
par momox
Si, tu peux renvoyer plusieurs valeurs :)
Il suffit de les assembler dans une variable puis de les renvoyer via return.
@+

Posté : 30 août 2007, 09:01
par Invité
un truc dans ce genre :
$result ="&error=memberOk&membrePseudo=$pseudo& ? c'est comme cela qu'il faut retourner l'ensemble des valeurs des variables ?

Posté : 30 août 2007, 21:31
par manheman
Personne pour me guider pour l'envoie de plusieurs variables ??

Posté : 30 août 2007, 22:02
par orgerix
Tu les mets dans un tableau.

Posté : 30 août 2007, 22:07
par manheman
Peux tu me donner un exemple ?

Posté : 30 août 2007, 22:11
par orgerix
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.

Posté : 30 août 2007, 22:13
par Invité
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