[PHP] problème de login

Fermé
L'etalon - 18 mai 2008 à 11:51
cobax Messages postés 33 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 12 juin 2008 - 19 mai 2008 à 17:01
Bonjour à tous j'ai un serieu problème dont je n'arrive pas à trouver la solution...

Un peu d'aide ne serai pas de refus

voici le script

<?php


include("i_connexion.php");

if (isset($_POST['mot_de_passe'])) // Si la variable existe
{
// On se crée une variable $mot_de_passe avec le mot de passe entré
$mot_de_passe = $_POST['mot_de_passe'];
$utilisateur = $_POST['utilisateur'];
}
else // La variable n'existe pas encore
{
$mot_de_passe = ""; // On crée une variable $mot_de_passe vide
}

// vérification du mot de passe dans la base table mysql des user

// connexion à la base de données
$CONNEXION = mysql_connect('localhost', 'root','root')
or die("Erreur de connexion au serveur de bases de donnés MYSQL");

// recherche de l’enregistrement utilisateur
$sql1 = "select pwd from tbl_user where login='".$utilisateur."'";
$res1 = mysql_query($sql1) or die("Désolé, la requête ne fonctionne pas");

// si on trouve l’enregistrement
If ($uneligne=mysql_fetch_array($res1)) {
$mot_dans_la_base= $uneligne[‘pwd’];
} else {
$mot_dans_la_base= ‘’ ;
}

if ($mot_de_passe == $mot_dans_la_base) // Si le mot de passe est bon
{
// On affiche la page accueil en redirigeant vers cette page
header("location: index.php");
}



else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<html >
<head>
<title>Page protégée par mot de passe</title> </head>
<body>
<p>Veuillez entrer le mot de passe :</p>
<form action="i_login.php" method="post">
<p>
Identifiant : <input type="text" name="utilisateur" /><br/>
Mot de passe : <input type="text" name="mot_de_passe" /><br/>
<input type="submit" value="Valider" />
</p>
</form>
</body>
</html>

<?php

} // Fin du else



MERCI DE VOTRE AIDE

?>

4 réponses

LeYaude Messages postés 304 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 8 février 2009 46
18 mai 2008 à 11:58
Est-ce que tu pourrais être un peu plus précis sur le problème ? Si on savait ce qui ne marche pas, ça serait probablement plus simple d'y remédier.

A première vue il manque un mysql_select_db("nom_de_la_bdd") entre la connexion et la requète, pour indiquer le nom de la bdd que tu veux
0
il y a un problème a la ligne 29

$mot_dans_la_base= $uneligne[‘pwd’];


la la connexion a la base de donnée se trouve dans mon include

include("i_connexion.php");

merci
0
LeYaude Messages postés 304 Date d'inscription vendredi 24 août 2007 Statut Membre Dernière intervention 8 février 2009 46
18 mai 2008 à 18:35
Alors pourquoi te reconnecter dans ce script ?

"$CONNEXION = mysql_connect('localhost', 'root','root')"



Sinon peut-être une autre idée :

"// si on trouve l’enregistrement
If ($uneligne=mysql_fetch_array($res1)) "

Essaie peut-être d'enlever la majuscule au "If" (je ne crois pas que ça change qqch, mais on ne sait jamais).
Ou sinon tu peux essayer de remplacer "if" par "while", qui parcourera tout l'array (ce qui produira le même résultat vu qu'il n'y a qu'une ligne).

Voilà, en espérant t'aider un peu !

Le Yaude.
0
oui exact c'est une erreur de ma part désolé,

par contre cela ne fonctionne pas, merci tout de même

je suis ouvert a toute suggestion ! !
0
cobax Messages postés 33 Date d'inscription samedi 17 mai 2008 Statut Membre Dernière intervention 12 juin 2008 6
19 mai 2008 à 17:01
Essaye comme ça, desolé de pas avoir commenté le code , mais ce n'est pas compliqué.

<?php


include("i_connexion.php"); 


if (!empty($_POST['mot_de_passe'])) 
{
$utilisateur = $_POST['utilisateur'];
$mot_de_passe = $_POST['mot_de_passe'];
// recherche de l’enregistrement utilisateur
$requete = mysql_query ("SELECT * FROM tbl_user WHERE login=\"$utilisateur\" ")or die("Désolé, la requête ne fonctionne pas");
$result = mysql_fetch_array($requete);
$pwd_database = $result['pwd'];

}


if ($mot_de_passe != $pwd_database || empty($_POST['mot_de_passe'])) {
?>
<html >
<head>
<title>Page protégée par mot de passe</title> </head>
<body>
<?php
if ($mot_de_passe != $pwd_database){
echo'<p>Utilisateur inexistant ou mot de passe invalide</p>';
}
?>
<p>Veuillez entrer le mot de passe :</p>
<form action="i_login.php" method="post">
<p>
Identifiant : <input type="text" name="utilisateur" /><br/>
Mot de passe : <input type="text" name="mot_de_passe" /><br/>
<input type="submit" value="Valider" />
</p>
</form>
</body>
</html>

<?php
} else {
header("location: index.php");
}
?>
0