Pb navigation tableau associatif php

Résolu
fredericmaill Messages postés 144 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 22 mars 2006 - 13 oct. 2005 à 10:48
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 13 oct. 2005 à 11:40
Pb de lecture des enregistrements

Bonjour,





J’ai u problème de lecture de mes enregistrements, je mets le résultatd’une raquette dans un tableau associatif.


Le problème c quand j’essai de lire ce tableau il ne me donne que le premier élément de celui-ci ci, je ne trouve pas mon erreur.


Merci de m’aider svp !!!


Ps : c un script de gestion d’accès avec sessions php


Il vérifie que le pseudo et mot de pass renseigner grâce a un formulaire correspond bien a un pseudo et mot de pass valide si c le cas je créé une session et le redirige vers une page a acces proteger


Vous trouverez le code sources si dessous :


<?php




session_start();




// login


if($_GET['action'] == 'login')


{


// récupération des variables


$pseudo = $_POST['pseudo'];


$password = $_POST['password'];




//


// verification des drois


//


// connexion


$conn = mysql_connect("localhost", "root", "");


// verification de la connection


if (!$conn)


{


echo "Impossible de se connecter à la base de données : " . mysql_error();


exit;


}


// Sélection de base de donnée


if (!mysql_select_db("test_session"))


{


echo "Impossible de sélectionner la base test_session: " . mysql_error();


exit;


}


// requette


$sql = "SELECT pseudo, password FROM user ";




$result = mysql_query($sql);


// vérification execution de la requette


if (!$result) {


echo "Impossible d'exécuter la requête ($sql) dans la base : " . mysql_error();


exit;


}


// Vérificationdu nombre de resultat obteneu par la requette


if (mysql_num_rows($result) == 0) {


echo "Aucune ligne trouvée, rien à afficher.";


exit;


}




// parcour du tableau associatif


// while ($row = mysql_fetch_assoc($result))




$row = mysql_fetch_assoc($result);




// print_r($row);


// JE CROIS QU C PAR ICI QUE LE SCRIPT DECONNE


while ($row = mysql_fetch_assoc($result))


{


echo $row["pseudo"]; // pour test


echo $row["password"]; // pour test








if($pseudo $row["pseudo"] && $password $row["password"])


{


$_SESSION['pseudo'] = $row["pseudo"]; // création d'une variable de session


header("location: index.php"); // redirection// pb de header


exit;


//mysql_free_result($result); // supression des informations de la variable "$result"


}




// si le pseudo est faux


else if($pseudo != $row["pseudo"])


{


header("location: index.php?erreur=1");


exit;


// mysql_free_result($result); // supression des informations de la variable "$result"


}






else




{


header("location: index.php?erreur=2");


exit;


// mysql_free_result($result); // supression des informations de la variable "$result"


}


}


// mysql_free_result($result); supression des informations de la variable "$result"


}




// logout


else if($_GET['action'] == 'logout')


{


session_unset(); // suppression des variables de sessions


session_destroy(); // destruction de la session


header("location: index.php"); // redirection


}


?>

vive PHP !!!, vive la prog !!!

1 réponse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 oct. 2005 à 11:40
Hello,



la vérification, le test quoi, on le met dans la requête, pas en dehors comme tu le fais ;-)



select pseudo, password from users where pseudo="$_POST['pseudo']" && password="$_POST['password']"



Si ta requête renvoie un enregistrement, c'est bon; sinon, l'utilisateur est inconnu.
3
Rejoignez-nous