par
Invité » 27 août 2006, 17:02
Bonjour,
J'ai une page à protéger, mais la page de vérification en cas de bon mot de passe, me renvoie à l'authentification, je ne comprend pas pourquoi ?
authentification
<html>
<head>
<style>
#un { padding:30px; }
.input { left:right; }
#login_pass { position:relative; text-align:right; margin-right:700px; }
#ok { position:relative; margin-left:190px; }
</style>
</head>
<?php
//session_destroy();
unset($_SESSION);
echo $_SESSION['nom'];
print '<br />session '.print_r($_SESSION);
?>
<body>
<h3>Veuillez vous connectez s'il vous plait.</h3>
<form id="un" action="http://creatif-web.be/developpeur/admin/verif.php" method="GET">
<div id="login_pass">login <input class="input" type="text" size="20" name="pseudo" /><br /><br>
Mot de passe <input class="input" type="password" size='20' name="mot_de_passe" /><br /></div>
<p id="ok"><input type="submit" value="OK >>" /><p>
</form>
<body>
</html>
Sa renvoie donc sur la page de vérification ou se trouve le script php, qui détermine le bon mot de passe
<?php
session_start();
if(isset($_GET['pseudo']) && isset($_GET['mot_de_passe'])) {
// on les récuperes
$nom=$_GET['pseudo'];
$mot_de_passe=$_GET['mot_de_passe'];
// on teste si le mot de passe est valide
if(verification($mot_de_passe, $nom) === true) {
// le mot de passe est valide, l'user est identifdié
// on change l'identifiant de session
echo session_regenerate_id();
// on sauvegarde le nom dans la session
$_SESSION['nom']= $nom;
header ('location:http://creatif-web.be/developpeur/admin/admin_accueil.php');
//$message= 'vous êtes corectement identifié, merci.';
/* $js="<form>
<input type=button value='Page précédente' onclick='history.go(-3);' />
</form>";
echo $js;*/
}
else
{
// sinon on avertis l'utilisateurs
$message="Mauvais mot de passe";
//$message.=" <a href=\"espace_secu.php\">retour</a>";
}
}
else
{
$message="Le login ou le mot de pass est vide";
//$message.=" <a href=\"espace_secu.php\">retour</a>";
}
function verification($mot_de_passe, $nom)
{
if($nom=='xavier' && $mot_de_passe=='xav')
{
return true;
}
else
{
return false;
}
}
?>
<html>
<head>
<style>
#un {
padding:30px;
}
.input {
left:right;
}
</style></head>
<body>
<html>
<h3>Veuillez vous connectez s'il vous plait.</h3>
<?php print $message.'<br />'.print_r($_SESSION); ?>
<form id="un" action="http://creatif-web.be/developpeur/admin/verif.php" method="GET">
<p>login <input class="input" type="text" size="50" name="pseudo" />
</p>
<br />
Mot de passe <input class="input" type="password" size='50' name="mot_de_passe" />
<br />
<input type="submit" value="Valider" />
</form>
<body>
</html>
dans chaque page à protéger j'insère un test
<?php
session_start();
// on vérifie si l'user c'est identifié.
if (!isset($_SESSION['pseudo'])){
// la variable de session n'existe pas
// donc l'user n'est pas authentifier
// on redirige sur la page permettant de s'authentifier
header('location:http://creatif-web.be/developpeur/admin/auth.php');
// on arrête l'execution.
exit();
}
include_once ("http://creatif-web.be/developpeur/admin/inc_admin/admin_entete.php");
include_once ("http://creatif-web.be/developpeur/admin/inc_admin/admin_menu.php");
?>
<h2 id="">Login</h2>
<?php
##############Jour en français
setlocale(LC_TIME, "fr");
$date=strftime("%A %d %B %Y");
echo "<p class='date'>le ".$date."</p>";
?>
</body></html>
D'avance merci