Formulaire pour accéder à un accés membre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 883 fois - Téléchargée 35 fois

Contenu du snippet

Formulaire pour accéder à un accés membre, parfait pour un espace membre, un intranet... Le login et le mot de passe sont stockés dans une table nommée ici (votretable), si le login et mot de passe sont corrects, le login est placé dans une session pour pouvoir controler l'accés de toute vos pages à protéger.

Source / Exemple :


<?php 

// demarre une session 
session_start(); 
// votre fichier de configuration MySQL 
include("configuration.php"); 
?> 

<html> 
<head> 
<title>Titre</title> 
</head> 
<?php 

// variables du formulaire 
$action = isset($_POST['action']) ? $_POST['action'] : '';
$login = isset($_POST['login']) ? $_POST['login'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';

// Si aucune action, le formulaire est afficher 
if ($action !=1) { 

echo "<body><center>"; 
echo "<br />Veuillez entrer votre Login et Mot de Passe.:<P>"; 
echo '<form action="' . $_SERVER['PHP_SELF'] . '?action=login" method="post">';
echo "Login: <input type=password name=login><P> "; 
echo "Passe: <input type=password name=pass><P>"; 
echo "<input type=submit value=\"Connexion\"></form>";
                    } 

// Sinon 

if(isset($_GET['action']) && $_GET['action'] == 'login')
 {

$q = mysql_query("SELECT *
                  FROM votretable
                  WHERE login='$login'
                  and pass='$pass'");

$n = mysql_num_rows($q); 

    if ($n == 1 and !empty($login) and !empty($pass)) 
         { 
         // Le login est placé dans la session 
         $_SESSION['session'] = $login; 
         // redirection 
         include("votrePage.php"); 
         exit(); 
         } 

// Si le login ou le mot de passe ne sont pas corrects 
// affiche de nouveau le formulaire 

         else{ 

echo "<body><center>"; 
echo "<br />Veuillez entrer votre Login et Mot de Passe.:<P>"; 
echo '<form action="' . $_SERVER['PHP_SELF'] . '?action=login" method="post">';
echo "Login: <input type=password name=login><P> "; 
echo "Passe: <input type=password name=pass><P>"; 
echo "<input type=submit value=\"Connexion\"></form>";

die("<font color=red>Informations incorrectes!"); 
             } 
         } 
?> 
</html> 

vous pouvez maintenant utiliser la session sur les pages que vous desirez protéger.
<?php session_start(); // si la seesion est interronpue if(!isset($_SESSION["session"])) { echo"Vous n'avez pas accés à cette page!"; } //sinon else { [votre code] } ?>

Conclusion :


Mise au point par Laurent G
Pour avoir d'autres versions, venez sur www.phpsources.net

A voir également

Ajouter un commentaire

Commentaires

pouda
Messages postés
265
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
27 octobre 2014
-
on aurait bien aimé un fichier ZIP avec le nécessaire, ton code est pas mal malgré des petites erreurs je te mets 7/10
songkendy
Messages postés
2
Date d'inscription
jeudi 22 mars 2007
Statut
Membre
Dernière intervention
23 mars 2007
-
Il me semble qu'il manque encore un fichier configuration.php.
coockiesch
Messages postés
2268
Date d'inscription
mercredi 27 novembre 2002
Statut
Membre
Dernière intervention
13 septembre 2013
3 -
Yop!
Pas besoind e crypter le login... :)

@++

R@f
LaurentKOogar
Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013
-
//Tu récupères les variables
$login = isset($_POST['login']) ? $_POST['login'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';

// tu cryptes !!
$login = md5($_POST['login']);
$pass = md5($_POST['pass']);

@++
geosmtl
Messages postés
6
Date d'inscription
samedi 17 mai 2003
Statut
Membre
Dernière intervention
9 mai 2006
-
Bonjour, je trouve votre code fort utile, d'ailleurs je me suis inspiré de ce code pour créer mon espace membre. Dans les commentaires précédents je remarque que certaines personnes parlent de protéger les mots de passes en les haschant avec md5. J'aimerais savoir que dois-je modifier au code affiché présentement pour utilisé le haschage md5?

Merci d'avance pour vos réponses

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.