Voilà je comprend pas, j’ai toujours un problème pour l’identification !
Voici ma Table :
users (id,pseudo,mdp,mail…etc)
Le Code de ma page de COnnexion
<?
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_COOKIE["pseudo"]))
{
header("Location: index.php");
}
else
{
// Formulaire visible par défaut
$masquer_formulaire = false;
// Une fois le formulaire envoyé
if(isset($_POST["BT_Envoyer"]))
{
// Vérification de la validité des champs
if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["pseudo"]))
{
$message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
$message .= "L'utilisation de l'underscore est autorisée";
}
elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["mdp"]))
{
$message = "Votre mot de passe doit comporter au moins 6 caractères";
}
else
{
// Connexion à la base de données
// Valeurs à modifier selon vos paramètres configuration
mysql_connect("localhost", "root", "");
mysql_select_db("portail");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT id,pseudo,mdp
FROM users
WHERE pseudo = '" . $_POST["pseudo"] . "'
");
// Si une erreur survient
if(!$result)
{
$message = "Une erreur est survenue lors de la tentative de connexion";
}
else
{
// Si aucun utilisateur n'a été trouvé
if(mysql_num_rows($result) == 0)
{
$message = "Le nom d'utilisateur " . $_POST["pseudo"] . " n'existe pas";
}
else
{
// Vérification du mot de passe
if(md5($_POST["mdp"]) != $row["mdp"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
// Définition du temps d'expiration des cookies
$expiration =
empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
// Création des cookies
setcookie("id", $row["id"], $expiration, "/");
setcookie("pseudo", $row["pseudo"], $expiration, "/");
// Fermeture de la connexion à la base de données
mysql_close();
// Redirection de l'utilisateur
header("Location: index.php");
}
}
}
}
// Fermeture de la connexion à la base de données
mysql_close();
}
}
?>
<html>
<head>
<title>[PHP] Créer un espace membre</title>
</head>
<body>
<? if(isset($message)) { ?>
<p><?= $message; ?></p>
<? } if($masquer_formulaire != true) { ?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
<p>
Nom d'utilisateur : <input name="pseudo" type="text" id="pseudo" />
</p>
<p>
Mot de passe : <input name="mdp" type="password" id="mdp" />
</p>
<p>
<input type="checkbox" name="CB_Connexion_Automatique" />
Se connecter automatiquement à chaque visite
</p>
<p>
<input type="submit" name="BT_Envoyer" value="Envoyer" />
</p>
</form>
<? } ?>
</body>
</html>
Voilà l’erreur
[b]
Notice: Undefined variable: row in c:\program files\easyphp1-8\www\connexion.php on line 62
Votre mot de passe est incorrect[/b]
Il ressord toujours l’erreur de Mot de passe INCORRECT
Ps : le Mot de passe dans la Base est Hashé en MD5 dans un Champ (255)
Je suis perdu là, j’ai réussi a tout faire etc… enfin vous verez le reste
Merci de m’aider