Test de sessions
Posté : 28 janv. 2009, 14:05
bonjour,
je met en place un system de membre avec session.
mon probleme et que sa ne fonctionne pas. Je suis hébergé chez 1and1.
lorsque le membre rentre son nom d'utilisateur et son mot de passe les session ne s'enregistre pas et je ne suis pas redirigé vers ma page index.
pourriez vous me dire se que vous en penssez ?
voilà ma page de connexion : conexion.php (formulaire + test validité identifiants)
je met en place un system de membre avec session.
mon probleme et que sa ne fonctionne pas. Je suis hébergé chez 1and1.
lorsque le membre rentre son nom d'utilisateur et son mot de passe les session ne s'enregistre pas et je ne suis pas redirigé vers ma page index.
pourriez vous me dire se que vous en penssez ?
voilà ma page de connexion : conexion.php (formulaire + test validité identifiants)
<?php
session_start(); // initialisation de la variable session
?>
<?
// Redirige l'utilisateur s'il est déjà identifié
if(isset($_SESSION["ID_UTILISATEUR"]))
{
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["TB_Nom_Utilisateur"]))
{
$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["TB_Mot_de_Passe"]))
{
$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("","","");
mysql_select_db("");
// Sélection de l'utilisateur concerné
$result = mysql_query("
SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
FROM Comptes_Utilisateurs
WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
");
// 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["TB_Nom_Utilisateur"] . " n'existe pas";
}
else
{
// Récupération des données
$row = mysql_fetch_array($result);
// Si le compte n'a pas été activé
if($row["Compte_Active"] == 0)
{
$message = "Votre compte utilisateur n'a pas été activé";
}
else
{
// Vérification du mot de passe
if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
{
$message = "Votre mot de passe est incorrect";
}
else
{
//création de session
$_SESSION['TB_Nom_Utilisateur'] = $TB_Nom_Utilisateur; //
$_SESSION['ID_UTILISATEUR'] = $ID_UTILISATEUR; //
// 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>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 type="text" name="TB_Nom_Utilisateur" />
</p>
<p>
Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
</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>
je ne comprend pas pourquoi sa ne fonctionne pas