Bonjour,
Jai u problème de lecture de mes enregistrements, je mets le résultatdune raquette dans un tableau associatif.
Le problème c quand jessai 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 maider svp !!!
Ps : c un script de gestion daccè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
}
?>