Aide Return Php

Résolu
alexcamb87 Messages postés 85 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 ?
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 85 Statut Membre
 
ç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 85 Statut Membre
 
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 85 Statut Membre
 
:up:
0

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

Posez votre question
Mopra-L Messages postés 150 Statut Membre 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 85 Statut Membre
 
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 150 Statut Membre 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 85 Statut Membre
 
ah oui normal j'ai pas donné de valeur a idMembre ça va marcher maintenant
0
Reivax962 Messages postés 3742 Statut Membre 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