|
|
|
|
Bonjour,
sur mon site, j'ai créé un espace membre mais la j'ai un sacré problème au niveau de la page de connexion ! Pouvez vous m'aidez ? Je vous donne déjà quelque infos :
- J'utilise une base de données MySQL
- Le formulaire n'est pas sur la page connexion mais sur toutes (et il renvoit sur la page connexion donc il crée des variables "$_POST['variable']").
- Je ne demandes que le pseudo et le mot de passe pour la connexion
Alors si vous pouvez me passer un script PHP/MySQL (je me débrouillerai pour l'adapter), se serait vraiment trop cool et gentil :)
Merci d'avance
Configuration: Windows Vista Firefox 3.0.1
Tu fais un truc du genre :
|
Salut,
<form action = "connexion.php" method="post"> Login <input type="text" name="login" /><br /> Mot de passe <input type="password" name="mdp" /><br /><br /> <input type="submit" value="Se connecter" /> </form> Ben la page connexion.php pourrai ressembler à ceci : <?php
session_start;// ne pas oublier avant tout code html si on attaque les session
if (($_GET['action'])=='deconnection' && isset($_SESSION['login']) && isset($_SESSION['mdp']))//Si on va sur cette page mais que les sessions 'login' et 'mdp' existe déjà, c'est que l'on veut se deconnecter ... donc action ! ^_^'
{
session_destroy();// on se déconnecte de la session
echo '<meta http-equiv="refresh" content="3;URL=index.php">';
echo '<center><font color=red><b><br>Vous vous êtes bien déconnecté</b><br /><br />Vous allez être redirigé dans 3 secondes</font><br /><br /><a href="index.php">Ne pas attendre</a></center>';
}
else if (!isset($_SESSION['login']) && !isset($_SESSION['mdp']))//Sinon, si ces sessions n'existent pas, c'est qu'on veut se connecter ... donc action ! ^_^'
{
if (isset($_POST['login']) AND isset($_POST['mdp'])) // Si les variables existent
{
mysql_connect(_DBHOST,_DBUSER,_DBPASS);//Identifiant à remplacer
mysql_select_db(_DBNAME);//Nom de la base à remplacer aussi
$login= mysql_real_escape_string(htmlspecialchars($_POST['login']));//Sécurité au cas ou !
$mdp = mysql_real_escape_string(htmlspecialchars($_POST['mdp']));//Sécurité au cas ou !
$reponse = mysql_query("SELECT * FROM membres WHERE login='$login' AND mdp='$mdp'");// On fait le tour de la base pour voir si le login entré existe et a pour mot de passe celui entré
$donnees = mysql_fetch_array($reponse);//on créé un petit tableau des résultats (normalement, il y en a qu'un si t'as tout bien configuré lors de l'inscription)
if (($donnees['login']) AND ($donnees['mdp']))//Si on a un resultat ... on a plus qu'a créer les session
{
$_SESSION['login'] = $login; // Session contenant le login du membre
$_SESSION['mdp'] = md5($mdp);// Session contenant le mot de passe hashé en md5 (par mesure de sécurité et surtout de confidentialité ;) )
$_SESSION['email'] = $donnees['email'];// Session contenant l'e-mail du membre
//Donc ici, tu peux plus ou moins mettre des sessions de ce que tu veux et plus ou moins autant que tu veux.
// L'option du cookies n'est pas dévellopé ici car tu ne l'a pas demandé :p lol
echo '<meta http-equiv="refresh" content="3;URL=index.php">';
echo '<center><font color=red><b><br>Vous êtes bien identifié</b><br /><br />Vous allez être redirigé dans 3 secondes</font><br /><br /><a href="index.php">Ne pas attendre</a></center>';
}
else
{
echo '<center><font color=red><b><br>Erreur d\'authentification !</b><br />Votre login ou votre mot de passe est faux</font><br><br><a href="index.php">Retour</a></center>';
}
mysql_close();
}
}
else
{
echo '<center><font color=red><b><br>Erreur !</b><br />Vous ne pouvez pas aller sur cette page, vous êtes déjà connecté.</font><br><br><a href="Javascript:history.go(-1)">Retour</a></center>';
}
?>
A vrai dire, j'ai pas testé ce code donc je ne te promet rien mais bon ... il peut marcher ! ^^ A+ Gaerebut Il y a 2 règles d'or pour réussir dans la vie : -Règle 1: ne jamais dire tout ce que l'on sait... -Règle 2: ... |
Merci beaucoup pour vos réponse mais j'ai trouvé tout seule sur cette page. J'invite tous ceux qui veulent faire un espace membre à aller sur le lien donné.
|