Aide Return Php

Résolu/Fermé
alexcamb87 Messages postés 79 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 5 juin 2011 - 22 févr. 2010 à 10:41
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 22 févr. 2010 à 16:21
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 1543 Date d'inscription mardi 16 juin 2009 Statut Membre Dernière intervention 3 avril 2011 404
22 févr. 2010 à 10:46
tu as essayé avec un echo devant ton $connection->connection($login,$mdp) ?
0
alexcamb87 Messages postés 79 Date d'inscription samedi 28 mars 2009 Statut Membre Dernière intervention 5 juin 2011
22 févr. 2010 à 10:51
ç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 samedi 28 mars 2009 Statut Membre Dernière intervention 5 juin 2011
22 févr. 2010 à 10:53
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 samedi 28 mars 2009 Statut Membre Dernière intervention 5 juin 2011
22 févr. 2010 à 13:52
: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 lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
22 févr. 2010 à 14:04
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 samedi 28 mars 2009 Statut Membre Dernière intervention 5 juin 2011
22 févr. 2010 à 14:38
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 lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
22 févr. 2010 à 16:04
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 samedi 28 mars 2009 Statut Membre Dernière intervention 5 juin 2011
22 févr. 2010 à 16:20
ah oui normal j'ai pas donné de valeur a idMembre ça va marcher maintenant
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
22 févr. 2010 à 16:21
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