PB page AUTHENTIFICATION PHP/MySQL
Résolu
djibouteam
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
djibouteam Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
djibouteam Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous et à toutes,
J'ai créé une page d'authentification en PHP pour accéder à une partie privée d'un site, mais voilà, que je mette un login et password valides ou non, la page de vérification me connecte... et là problème.
Ayant fait des echo dans mon code pour vérifier le passage des variables, je sais que cela ne vient pas des variables POST.
$result me renvoit bien un #ressource id4 ou quelque chose comme çà donc MySQL fait bien son boulot mais comme dit plus haut, il me connecte tout le temps meme avec des login et passords bidons...
Voici mon code, ci quelqu'un pouvait me dire ce qui ne va pas, çà fait trois soirs que je passe dessus, je modifie, je bidouille, mais rien ...
<?php
include ("../include/conn.php");
/* variables passées depuis la page de connection */
$vLogin =(isset($_POST["login"])) ? $_POST["login"] : "";
$vPwd =(isset($_POST["pwd"])) ? $_POST["pwd"] : "";
/*mettre cette partie en fonction php avec le dessus*/
$query = sprintf("SELECT id_user FROM `utilisateurs` WHERE login_user = '%s' and pwd_user='%s'",
mysql_real_escape_string($vLogin),
mysql_real_escape_string($vPwd));
echo $query;
$result = mysql_query($query);
If (!$result){
header("location:index.php");
}
else{
$row = mysql_fetch_row($result);
$_SESSION["id_user"]= $row[0];
header("location:../pages/gestion_admin.php");
}
mysql_close();
?>
J'ai créé une page d'authentification en PHP pour accéder à une partie privée d'un site, mais voilà, que je mette un login et password valides ou non, la page de vérification me connecte... et là problème.
Ayant fait des echo dans mon code pour vérifier le passage des variables, je sais que cela ne vient pas des variables POST.
$result me renvoit bien un #ressource id4 ou quelque chose comme çà donc MySQL fait bien son boulot mais comme dit plus haut, il me connecte tout le temps meme avec des login et passords bidons...
Voici mon code, ci quelqu'un pouvait me dire ce qui ne va pas, çà fait trois soirs que je passe dessus, je modifie, je bidouille, mais rien ...
<?php
include ("../include/conn.php");
/* variables passées depuis la page de connection */
$vLogin =(isset($_POST["login"])) ? $_POST["login"] : "";
$vPwd =(isset($_POST["pwd"])) ? $_POST["pwd"] : "";
/*mettre cette partie en fonction php avec le dessus*/
$query = sprintf("SELECT id_user FROM `utilisateurs` WHERE login_user = '%s' and pwd_user='%s'",
mysql_real_escape_string($vLogin),
mysql_real_escape_string($vPwd));
echo $query;
$result = mysql_query($query);
If (!$result){
header("location:index.php");
}
else{
$row = mysql_fetch_row($result);
$_SESSION["id_user"]= $row[0];
header("location:../pages/gestion_admin.php");
}
mysql_close();
?>
A voir également:
- PB page AUTHENTIFICATION PHP/MySQL
- Supprimer page word - Guide
- Double authentification google - Guide
- Imprimer tableau excel sur une page - Guide
- Page d'accueil - Guide
- Mysql community server - Télécharger - Bases de données
4 réponses
Bonjour
un petit peu n'importe quoi, le $query...
un petit peu n'importe quoi, le $query...
<?php include ("../include/conn.php"); /* variables passées depuis la page de connection */ $vLogin =(isset($_POST["login"])) ? $_POST["login"] : ""; $vPwd =(isset($_POST["pwd"])) ? $_POST["pwd"] : ""; /*mettre cette partie en fonction php avec le dessus*/ $query = "SELECT id_user FROM `utilisateurs` WHERE login_user = '".mysql_real_escape_string($vLogin)."' and pwd_user='".mysql_real_escape_string($vPwd))."'"; echo $query; $result = mysql_query($query); If (!$result){ header("location:index.php"); } else{ $row = mysql_fetch_row($result); $_SESSION["id_user"]= $row[0]; header("location:../pages/gestion_admin.php"); } mysql_close(); ?>
salut essai ça!
<?php
include ("../include/conn.php");
/* variables passées depuis la page de connection */
$vLogin =(isset($_POST["login"])) ? $_POST["login"] : "";
$vPwd =(isset($_POST["pwd"])) ? $_POST["pwd"] : "";
/*mettre cette partie en fonction php avec le dessus*/
$query = sprintf("SELECT id_user FROM `utilisateurs` WHERE login_user = '$vLogin' and pwd_user='$vPwd'",
mysql_real_escape_string($vLogin),
mysql_real_escape_string($vPwd));
echo $query;
$result = mysql_query($query);
If (!$result){
header("location:index.php");
}
else{
$row = mysql_fetch_row($result);
$_SESSION["id_user"]= $row[0];
header("location:../pages/gestion_admin.php");
}
mysql_close();
?>
<?php
include ("../include/conn.php");
/* variables passées depuis la page de connection */
$vLogin =(isset($_POST["login"])) ? $_POST["login"] : "";
$vPwd =(isset($_POST["pwd"])) ? $_POST["pwd"] : "";
/*mettre cette partie en fonction php avec le dessus*/
$query = sprintf("SELECT id_user FROM `utilisateurs` WHERE login_user = '$vLogin' and pwd_user='$vPwd'",
mysql_real_escape_string($vLogin),
mysql_real_escape_string($vPwd));
echo $query;
$result = mysql_query($query);
If (!$result){
header("location:index.php");
}
else{
$row = mysql_fetch_row($result);
$_SESSION["id_user"]= $row[0];
header("location:../pages/gestion_admin.php");
}
mysql_close();
?>
Chers amis,
tout d'abord merci pour votre rapidité pour m'avoir répondu mais je suis au regret de vous annoncer que çà ne marche pas.
le echo $query est un oubli, il me servait à savoir ce qui était envoyé à MySQL,
pourtant quand je le rentre sous MySQL ça me renvoit bien ce que j'attend mais en PHP que je rentre un login et password valides ou non $result est égal à ressource id#4 ce qui signifie que MySQL lui renvoit un id_user valide,
vous comprenez, l'erreur ne vient pas de la requete, mais de la reponse mysql_query($query).....
tout d'abord merci pour votre rapidité pour m'avoir répondu mais je suis au regret de vous annoncer que çà ne marche pas.
le echo $query est un oubli, il me servait à savoir ce qui était envoyé à MySQL,
pourtant quand je le rentre sous MySQL ça me renvoit bien ce que j'attend mais en PHP que je rentre un login et password valides ou non $result est égal à ressource id#4 ce qui signifie que MySQL lui renvoit un id_user valide,
vous comprenez, l'erreur ne vient pas de la requete, mais de la reponse mysql_query($query).....
Bon bon bon, que dire a part que je viens de trouver la solution.
<?php
include ("../include/conn.php");
/* variables passées depuis la page de connection*/
$vLogin =(isset($_POST["login"])) ? $_POST["login"] : "";
$vPwd =(isset($_POST["pwd"])) ? $_POST["pwd"] : "";
$query = sprintf("SELECT id_user FROM `utilisateurs` WHERE login_user = '%s' and pwd_user='%s'",
mysql_real_escape_string($vLogin),
mysql_real_escape_string($vPwd));
$result = mysql_query($query);
$row = mysql_fetch_row($result);
/* ou la meme en plus factorisé :
$row = mysql_fetch_row(mysql_query($query));
*/
If (empty($row[0])){
mysql_close();
header("location:../index.php");
}
else{
$_SESSION["id_user"]= $row[0];
mysql_close();
header("location:../pages/gestion_admin.php");
}
Voilà, le mysql_close() est pour ne pas laisser la BD ouverte inutilement....
Merci encore, pour vos réponses, elles m'ont permis de percévérer
?>
<?php
include ("../include/conn.php");
/* variables passées depuis la page de connection*/
$vLogin =(isset($_POST["login"])) ? $_POST["login"] : "";
$vPwd =(isset($_POST["pwd"])) ? $_POST["pwd"] : "";
$query = sprintf("SELECT id_user FROM `utilisateurs` WHERE login_user = '%s' and pwd_user='%s'",
mysql_real_escape_string($vLogin),
mysql_real_escape_string($vPwd));
$result = mysql_query($query);
$row = mysql_fetch_row($result);
/* ou la meme en plus factorisé :
$row = mysql_fetch_row(mysql_query($query));
*/
If (empty($row[0])){
mysql_close();
header("location:../index.php");
}
else{
$_SESSION["id_user"]= $row[0];
mysql_close();
header("location:../pages/gestion_admin.php");
}
Voilà, le mysql_close() est pour ne pas laisser la BD ouverte inutilement....
Merci encore, pour vos réponses, elles m'ont permis de percévérer
?>