Créer un compte
Connexion

Formulaire de connexion

Pour créer et répondre aux sujets, vous devez être connecté.
Pages: 1
Auteur Message
Groupe-Inter
28/10/2013 à 16:14:59
Groupe-Inter
Membre
Bonjour à tous,
J'ai un formulaire de connexion il marche très bien jusqu'à la création des sessions. Quelqu'un pourrait il regarder mon code et me dire ce qui ne va pas.
Voici le code:


<?php
if(isset($_SESSION['username']))
{
//On le deconecte en supprimant simplement les sessions username et userid
unset($_SESSION['username'], $_SESSION['userid'], $_SESSION['userstat']);
?>
<div class="message">Vous avez bien &eacute;t&eacute; d&eacute;connect&eacute;.<br />
<a href="index.php">Accueil</a></div>
<?php
}
else
{
$ousername = '';
//On verifie si le formulaire a ete envoye
if(isset($_POST['username'], $_POST['password'], $_POST['statut']))
{
//On echappe les variables pour pouvoir les mettre dans des requetes SQL
if(get_magic_quotes_gpc())
{
$ousername = stripslashes($_POST['username']);
$username = mysql_real_escape_string(stripslashes($_POST['username']));
$password = stripslashes($_POST['password']);
$statut = stripslashes($_POST['statut']);
}
else
{
$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$statut = $_POST['statut'];
}
//On recupere le mot de passe de lutilisateur
$req = mysql_query('select password,id,statut from users where username="'.$username.'"');
$dn = mysql_fetch_array($req);
//On le compare a celui quil a entre et on verifie si le membre existe
if($dn['password']==$password and $dn['statut']==$statut and mysql_num_rows($req)>0)
{
//Si le mot de passe es bon, on ne vas pas afficher le formulaire
$form = false;
//On enregistre son pseudo dans la session username et son identifiant dans la session userid
$_SESSION['username'] = $_POST['username'];
$_SESSION['userid'] = $dn['id'];
$_SESSION['userstat'] = $_POST['statut'];
?>
<div class="message">Vous avez bien &eacute;t&eacute; connect&eacute;. Vous pouvez acc&eacute;der &agrave; votre espace membre.<br />
<a href="<?php echo $url_home; ?>">Espace membre</a></div>
<?php
}
else
{
//Sinon, on indique que la combinaison nest pas bonne
$form = true;
$message = 'La combinaison que vous avez entr&eacute; n\'est pas bonne ou vous avez choisi le mauvais type de compte.';
}
}
else
{
$form = true;
}
if($form)
{
//On affiche un message sil y a lieu
if(isset($message))
{
echo '<div class="message">'.$message.'</div>';
}
//On affiche le formulaire
?>
<div id="contact_form">
<form action="connexion.php" method="post" class="message">
Veuillez entrer vos identifiants pour vous connecter:<br />
<div class="center">
<label for="username"></label><input type="text" name="username" id="username" placeholder="Nom d'utilisateur" class="required input_field"/><br />
<label for="password"></label><input type="password" name="password" id="password" placeholder="Mot de passe" class="required input_field"/><br />
<SELECT name="statut">
<OPTION VALUE="Standard">Standard</OPTION>
<OPTION VALUE="Premium">Premium</OPTION>
</SELECT>
<input type="submit" value="Connexion" class="submit_btn float_l"/>
</div>
</form>
</div>
<?php
}
}
?>
La création des sessions : l42 à l44.
Ce script provient de ce site avec une petite retouche (le choix du compte).

Merci de votre aide

Groupe-Inter

Pages: 1