Bonjour à tous, en recherchant sur internet, je n'ai pas trouvé de solution à mon problème donc je viens ici en espérant trouver une réponse
J'ai une page avec un formulaire de connexion, je rentre le login et le mot de passe, j'arrive sur l'autre page et j'ai une requête qui vérifie si l'utilisateur est bien dans la base de donnée, jusque là aucun problème. Après vérification, l'utilisateur est connecté à la page. Celui-ci voudrait consulter tous les utilisateurs dans la base de donnée avec une 2ème requêtes (imaginons que c'est l'Admin bien sur ) ça ne fonctionne pas. Il va m'afficher autant de fois mes informations qu'il y a d'utilisateurs dans ma table "Users"
Voici un petit exemple:
Mon code:
Je suppose que le problème vient de la double requête sur ma page, comment résoudre ce problème? Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84 <html> <head> <link rel="stylesheet" href="reset.css"/> <link rel="stylesheet" href="myStyle.css"/> <title>Connexion.php </title> </head> <body> <center> <div id="enonce"> .:Test de la dataProject pour le Projet:. </div> <div id="sous-enonce"> Ajouter, modifier et consulter données dans la DB </div> </center> <?php session_start(); // Ouverture de la session // Initialisation de la session if(!isset($_SESSION['login'])) { $_SESSION["login"] = $_POST["login"]; $_SESSION["mdp"] = $_POST["mdp"]; } // On empeche toute injection SQL inject_stop(); include ("config.php"); mysql_connect(MYHOST, MYUSER, MYPASS) or die(mysql_error()); // Connexion à MySQL mysql_select_db("dataproject") or die(mysql_error()); // Sélection de la base coursphp $sql="SELECT * FROM USERS WHERE PSEUDO= '" . $_SESSION["login"] . "' AND COOKIE= '" . crypt($_SESSION["mdp"],99) . "'"; $reponse = mysql_query($sql) or die(mysql_error()); // Requête SQL echo '<br /><br />'; echo '<div class="commentaire">WHERE NOM = "' . $_SESSION["login"] . '" and MDP = "' . $_SESSION["mdp"] . '"</div>'; // Si on trouve le USER dans la BDD if ($donnees = mysql_fetch_array($reponse)) { echo '<div class="resultat">Résultats trouvés pour : <strong>' . $_SESSION["login"] . '</strong><br />'; echo '<a href="deconnexion.php">Deconnexion</a></div>'; echo '<div class="tableau"><form method="post" action="'.$_SERVER['PHP_SELF'].'"> <input name="choix" class="button" type="submit" value="Consulter" /> <input name="choix" class="button" type="submit" value="Ajouter" /> <input name="choix" class="button" type="submit" value="Modifier" /> </form></div>'; // On test le choix if(!empty($_POST["choix"])){ switch($_POST["choix"]) { case "Consulter": $rep_consult = mysql_query("SELECT * FROM USERS") or die(mysql_error()); // Requête SQL echo '<br /><br />'; // x espace // Ouverture du tableau echo '<table> <th colspan="11"> Table des USERS </th> <tr class="ligne">'; $i = 0; while($i < mysql_num_fields($rep_consult)){ echo '<td>' . mysql_field_name($rep_consult,$i) . '</td>'; $i++; } echo '</tr>'; while ($donnees_c = mysql_fetch_array($rep_consult) ) { echo '<tr>'; $i = 0; while($i < mysql_num_fields($rep_consult)) { echo '<td>' . $donnees[mysql_field_name($rep_consult,$i)] . '</td>'; $i++; } echo '</tr>'; } // Fermeture du tableau echo '</table>'; break; } } } else { echo '<div class="resultat">Acces Inderdit : <strong>' . $_SESSION["login"] . '</strong><br />'; echo '<a href="deconnexion.php">Réessayer</a></div>'; } // Fonction qui empeche toute injection dans le code PHP function inject_stop(){ foreach($_POST as $k => $v) { $_POST[$k] = mysql_real_escape_string($v); } foreach($_GET as $k => $v) { $_GET[$k] = mysql_real_escape_string($v); } } mysql_close(); // Déconnexion de MySQL ?> </body> </html>
Partager