Aide Return Php

Résolu
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'essaye de me mettre au php objet et j'ai un petit peu de mal...

Voilà ma fonction pour me connecter
Class Membres{
private $idMembre;
private $login;
private $mdp;

public function connection($VotreLogin,$VotreMotDePasse){
$req="SELECT login FROM Membres WHERE login='".$VotreLogin."'";

$res=mysql_query($req);
$result=mysql_fetch_array($res);
$this->login=$result[0];

$req="SELECT password FROM Membres WHERE password='".$VotreMotDePasse."'";
$res=mysql_query($req);
$result=mysql_fetch_array($res);
$this->mdp=$result[0];

if ($this->login!='' AND $this->mdp!=''){
return ($this->idMembre);
}
else
{
}
}
}


je fais appel a cette fonction a partir d'une autre page
$connection=new Membres();
$connection->connection($login,$mdp);

$login et $mdp venant d'un formulaire précédemment rempli


La fonction marche avec des echo, ça m'affiche bien si je suis connecté ou non. Mais je veux faire ça avec des return, j'ai beau chercher je n'arrive pas trouver comment récupérer la valeur d'un return... Pouvez vous m'aider s'il vous plait ?
A voir également:

9 réponses

garion28 Messages postés 1545 Date d'inscription   Statut Membre Dernière intervention   406
 
tu as essayé avec un echo devant ton $connection->connection($login,$mdp) ?
0
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
ça ne m'affiche rien, le $connection->connection($login,$mdp) c'est pour donner les paramètres a ma fonction
0
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
de toute façon la fonction en elle même marche, mais le problème c'est pour récupérer le résultat. Je pourrais faire un echo "connexion acceptée" et une redirection mais je pense pas que ça fasse très professionnel
0
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
:up:
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mopra-L Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,

Ce que tu as fait n'est pas très conseillé, car tu as mis un return dans une condition.
Par conséquent, si la condition n'est pas respecté, pas de return.

Essaye plutôt quelque chose comme ca :

Class Membres{
private $idMembre;
private $login;
private $mdp;

public function connection($VotreLogin,$VotreMotDePasse){
$req="SELECT login FROM Membres WHERE login='".$VotreLogin."'";

$res=mysql_query($req);
$result=mysql_fetch_array($res);
$this->login=$result[0];

$req="SELECT password FROM Membres WHERE password='".$VotreMotDePasse."'";
$res=mysql_query($req);
$result=mysql_fetch_array($res);
$this->mdp=$result[0];

if ($this->login!='' AND $this->mdp!=''){
$ID = $this->idMembre;
}
else
{
$ID = NULL;
}

return $ID;
}
}


Puis :

$connection=new Membres();
$resultat = $connection->connection($login,$mdp); 
0
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
Merci en effet ça m'a l'air plus propre mais j'ai toujours ce problème pour récupérer le return. j'ai fais un echo de $resultat ça n'affiche rien.

En fait j'aimerais me servir de l'id que doit renvoyer $resultat et de l'intégrer dans l'url pour afficher la page d'accueil en fonction de l'id du membre en $_GET
0
Mopra-L Messages postés 146 Date d'inscription   Statut Membre Dernière intervention   6
 
Si tu as testé ce code tel quel, c'est tout a fait normal que ca n'affiche rien.

Tu n'initialise pas ta variable idMembre, donc tu l'affiche, mais elle est vide.

Pour tester ton return, tu peux essayer avec ca :

if ($this->login!='' AND $this->mdp!=''){
$ID = "Vrai";
}
else
{
$ID = "Faux";
}


Est-ce que ton return n'affiche toujours rien ?

Après, si tu veux une valeur dans ton idMembre, il faut soit l'attribuer dans ton code, soit avec un "set"
0
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
ah oui normal j'ai pas donné de valeur a idMembre ça va marcher maintenant
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Pour récupérer la valeur du return, rien de plus simple : il suffit de l'affecter à une variable.
Et donc, ton $connection->connection($login,$mdp); devient :

$MemberID = $connection->connection($login,$mdp);

Xavier
0