Aide Return Php
Résolu
alexcamb87
Messages postés
85
Statut
Membre
-
Reivax962 Messages postés 3742 Statut Membre -
Reivax962 Messages postés 3742 Statut Membre -
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 ?
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 ?
Configuration: Mac OS X / Safari 531.21.10
9 réponses
-
tu as essayé avec un echo devant ton $connection->connection($login,$mdp) ?
-
ça ne m'affiche rien, le $connection->connection($login,$mdp) c'est pour donner les paramètres a ma fonction
-
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
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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);
-
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 -
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" -
ah oui normal j'ai pas donné de valeur a idMembre ça va marcher maintenant
-
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