PB page AUTHENTIFICATION PHP/MySQL

Résolu/Fermé
djibouteam Messages postés 5 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 27 septembre 2008 - 20 sept. 2008 à 11:36
djibouteam Messages postés 5 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 27 septembre 2008 - 20 sept. 2008 à 14:55
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();
?>
A voir également:

4 réponses

Bonjour

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(); 
?> 
0
bissdebrazza Messages postés 2065 Date d'inscription vendredi 29 juin 2007 Statut Contributeur Dernière intervention 7 décembre 2017 712
20 sept. 2008 à 12:58
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();
?>
-1
djibouteam Messages postés 5 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 27 septembre 2008
20 sept. 2008 à 14:38
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).....
-1
djibouteam Messages postés 5 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 27 septembre 2008
20 sept. 2008 à 14:55
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


?>
-1