Aide pour Tableaux PHP

alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention   -  
boz75 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'essaye tant bien que mal de me mettre a la POO sur PHP et j'ai quelques difficultés...

Je fais un agenda en PHP et j'ai plusieurs "membres", des comptes quoi et donc j'ai une page de connexion ou on doit vérifier le pseudo et le mot de passe.

J'aimerais donc créer un "objet" ListeMembre qui est en fait un tableau regroupant tous les membres de ma BDD et ensuite vérifier dedans.

Seulement je pense pas que je m'y prenne correctement... voici ma classe Membres avec le constructeur et la fonction connexion, ça ne marche pas bien évidement

Class Membres{

private $listeMembres;

function __construct(){
$req="SELECT * FROM Membres";
$res=mysql_query($req);
$this->listeMembres=array();
$nb=0;
while($result=mysql_fetch_array($res)){
$this->listeMembres[$nb]=array('id'=>$result[0],'pseudo'=>$result[1],'MotDePasse'=>$result[2]);
}

}


public function connection($VotreLogin,$VotreMotDePasse){

$nb=0;
while($nb<=count($this->listeMembres))
{
if ($this->listeMembres['pseudo']==$VotreLogin AND $this->listeMembres['MotDePasse']==$VotreMotDePasse)
{
$ID = $this->listeMembres['id'];

}
else
{
$ID = NULL;

}
$nb++;
}

return $ID;
}
}


une idée ? merci
A voir également:

4 réponses

boz75 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   4
 
Tu n'aurais pas oublié un $nb++ dans le constructeur ?
0
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
si en effet mais ça ne marche pas quand même
0
alexcamb87 Messages postés 79 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai essayé de me simplifier la tache en faisant un tableau pour chaque champ mais ça ne marche toujours pas... Je dois plus être très loin pourtant

Class Membres{

private $idMembres;
private $pseudoMembres;
private $mdpMembres;

function __construct(){
$req="SELECT * FROM Membres";
$res=mysql_query($req);
$nb=0;
while($result=mysql_fetch_assoc($res)){
$this->idMembres[$nb]=$result[0];
$this->pseudoMembres[$nb]=$result[1];
$this->mdpMembres[$nb]=$result[2];
$nb++;
}

}


public function connection($VotreLogin,$VotreMotDePasse){
$i=0;
$nbElements=count($this->idMembres);
while($i<=$nbElements)
{
if ($this->pseudoMembres[$i]==$VotreLogin AND $this->mdpMembres[$i]==$VotreMotDePasse)
{
$ID = $this->idMembres[$i];
}
else
{
$ID = NULL;
}
$i++;
}

return $ID;
}



}
0
boz75 Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   4
 
Il faut sortir de la boucle une fois que $id n'est plus NULL. Là, si je lis bien, tu trouves un ID puis lors du passage suivant dans la boucle, il est remis à NULL.

Par ailleurs je te signale la boucle « foreach », qui est plus simple à utiliser que « while » puisque tu n'as pas besoin de connaître le nombre d'éléments, ni de faire « $i++ ».
0