Plusieurs requêtes sur la même page
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 :P
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" :ccool:
Voici un petit exemple:
http://image.noelshack.com/fichiers/...2358-table.png
Mon code:
Code:
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> |
Je suppose que le problème vient de la double requête sur ma page, comment résoudre ce problème? Merci d'avance ! ;)