Page connexion - Espace membre
Bonjour,
Je me suis lancé dans la création d'un espace membre d'un petit site, pour un projet universitaire.
Suite aux conseils d'un membre du forum, j'ai recommencé mes pages car j'utilisais encore mysql_query ; obsolète à l'heure actuelle...
Je vous présente le contexte :
Ma page register fonctionne parfaitement, je crée un user, et il figure bien dans la base de donnée.
Le problème se situe sur la page de connexion ; lorsque j'essaie de me loggué rien ne se passe, il me recharger la même page connexion... je ne sais pas pourquoi.
Pourtant j'ai bien hashé les deux mots de passes, pour moi le problème vient de la connexion à la base ou de me requête, mais j'ai l'impression que c'est sont correctes.
Voici les codes :
register.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| <?php
session_start();
include('include/config.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Bienvenue | FIFA Tournament 2015</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen">
</head>
<body>
<div id="main">
<div id="top"> <img src="images/fifa.jpg" class="image_principale" alt="fifa15" /> </div>
<nav>
<?php
if (isset ($_SESSION['log'])){
include 'menu_co.php';
} else {
include 'menu_deco.php';
}
?>
</nav>
<div id="site_content" style="height:300px">
<h1 style='color:#09D4FF'>S'inscrire</h1>
<div class="content" style='height:300px;text-align:left'>
<?php
if (isset($_POST['submit']))
{
$login = htmlentities(trim($_POST['login']));
$mdp = htmlentities(trim($_POST['mdp']));
$repeatmdp = htmlentities(trim($_POST['repeatmdp']));
$email = htmlentities(trim($_POST['email']));
if ($login && $mdp && $repeatmdp && $email)
{
$req = $bdd->prepare('SELECT * FROM users WHERE login = :login');
$req->execute(array('login'=> $login));
$resultat=$req->fetch();
//Vérification si pseudo déjà crée
if(!$resultat)
{
$req = $bdd->prepare('SELECT * FROM users WHERE email = :email');
$req->execute(array('email'=> $email));
$resul=$req->fetch();
//Vérification si mail déjà utilisé
if(!$resul)
{
if(strlen($login) >= 4)
{
if (strlen($mdp) >= 4)
{
if ($mdp == $repeatmdp)
{
if (filter_var($email, FILTER_VALIDATE_EMAIL))
{
// Hachage du mot de passe
$mdp = sha1($_POST['mdp']);
//$login = $_POST['login'];
$req = $bdd->prepare('INSERT INTO users(login, mdp, email) VALUES(:login, :mdp, :email)');
$req->execute(array(
'login' => $login,
'mdp' => $mdp,
'email' => $email));
header('Location:connexion.php');
}else echo "Veuillez saisir une adresse mail correcte";
}else echo "Les mots de passe doivent correspondre";
}else echo "Mot de passe trop court (au moins 4 caractères)";
}else echo "Pseudo trop court (au moins 4 caractères)";
}else echo "L'adresse mail renseigné est déjà utilisée";
}else echo "Pseudo déjà utilisé";
}else echo "Veuillez saisir tous les champs !";
}
?>
<form method="post" action="register.php">
<label style="color:white"> Pseudo :</label><input style="background-color:#8CC6D7"; type = "text" name = "login" /> <br/><br/>
<label style="color:white"> Mot de passe :</label><input style="background-color:#8CC6D7"; type="password" name="mdp"/> <br/><br/>
<label style="color:white"> Confirmation du mot de passe :</label><input style="background-color:#8CC6D7"; type="password" name="repeatmdp"/> <br/> <br/> <br/>
<label style="color:white"> Adresse e-mail :</label><input style="background-color:#8CC6D7"; type="email" name="email"/> <br/><br/>
<input style="background-color:#8CC6D7; margin-top:20px; font-weight:bold" type="submit" value="S'inscrire" name="submit"/>
</form>
</div>
<footer>
Copyright © Nico'Création Web | Mentions légales | Tous droits réservés.
</footer>
</div>
</body>
</html> |
connexion.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| <?php
session_start();
include('include/config.php');
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Bienvenue | FIFA Tournament 2015</title>
<link href="css/style.css" rel="stylesheet" type="text/css" media="screen">
</head>
<body>
<div id="main">
<div id="top"> <img src="images/fifa.jpg" class="image_principale" alt="fifa15" /> </div>
<nav>
<?php
if (isset ($_SESSION['log'])){
include 'menu_co.php';
} else {
include 'menu_deco.php';
}
?>
</nav>
<div id="site_content" style="height:150px">
<h1 style='color:#09D4FF'>Connexion</h1>
<div class="content" style='height:150px;text-align:left'>
<?php
if (isset($_POST['submit']))
{
$login = htmlentities(trim($_POST['login']));
$mdp = htmlentities(trim($_POST['mdp']));
if ($login && $mdp)
{
// Hachage du mot de passe
$mdp = sha1($_POST['mdp']);
// Vérification des identifiants
$req = $bdd->prepare('SELECT id FROM users WHERE login = :login AND mdp = :mdp');
$req->execute(array(
'login' => $login,
'mdp' => $mdp));
$resultat = $req->fetch();
if (!$resultat)
{
echo 'Mauvais identifiant ou mot de passe !';
}
else
{
session_start();
$_SESSION['id'] = $resultat['id'];
$_SESSION['login'] = $login;
header('Location:index.php');
}
}
}
?>
<form method="post" action="connexion.php">
<label style="color:white"> Pseudo :</label><input style="background-color:#8CC6D7"; type = "text" name = "login" /> <br/><br/>
<label style="color:white"> Mot de passe :</label><input style="background-color:#8CC6D7"; type="password" name="mdp"/> <br/><br/>
<input style="background-color:#8CC6D7; margin-top:20px; font-weight:bold" type="submit" value="Connexion"/>
</form>
</div>
<footer>
Copyright © Nico'Création Web | Mentions légales | Tous droits réservés.
</footer>
</div>
</div>
</body>
</html> |