Probleme de creation une page pour s'authentifier

Résolu/Fermé
celiaami Messages postés 5 Date d'inscription samedi 14 mai 2016 Statut Membre Dernière intervention 27 mai 2016 - 14 mai 2016 à 21:53
 DEVMAN - 14 mai 2016 à 22:55
salut,
dans le cadre de mon pfe j'ai besin d'un simple site administratif qui néssaicite l'authentification de l'admin. j'ai pas pu assurer cette athentification lorsque je test mon site la page d'accueil s'affiche directement sans passer par la page de connexion ???
index.php
<?php  session_start(); setcookie('bool',false); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <meta charset="utf-8" />
     <title>Acceuil</title>
	 <link rel="icon" href="images/favicon.gif" type="image/x-icon"/>
	 <link rel="shortcut icon" href="images/favicon.gif" type="image/x-icon"/> 
     <link rel="stylesheet" type="text/css" href="css/styles.css"/>
	 <link type="text/css" href="css/style.css" media="screen" charset="utf-8" rel="stylesheet"  />
<style>
form a input
{
border:none;
//padding-left:24px; /* pour décaler le texte, qu'il ne chevauche pas mon image*/
background-color:transparent;
cursor: pointer;
}
form a
{
background-image:url(images/bg.png);
background-repeat:no-repeat;
background-color:#0fcd05;
text-decoration:none;
}
form a:hover
{
background-image:url(images/bg.png);
}
</style>
	 <style>
	 form
    {
        text-align:center;
    }
	</style>
    </head>
	<body text="white">	
	 <header>
 <div class="container">
    <!--start title-->
    <h1 class="fontface" id="title"><span class="green">M</span>-sante</h1>

	<!--end title-->
	<!--start menu-->
	<nav>
	<div id="titre" align="center">
           <b>Page de l'administrateur</b><br>
    </div>
	</nav>
  </div>
  </header>

	

	<br><br><br><br>
<div>
<form action="test.php" method="post">

<table>
<tr><td>  <b><em>Bienvenue sur le site administratif de m-sante</em></b>

<tr> <td>  Connectez vous pour accéder à votre compte 
<tr>
<td><label for="nom_utilisateur"><strong>Nom_utilisateur</strong></label><td> :<td><input type="text" name="nom_utilisateur" id="nom_utilisateur" size="25"/>

<tr>
<td><label for="pwd"><strong>Password</strong></label><td>:<td><input type="password" name="pwd" id="pwd"size="25" />
<tr>
</table>

<input type="submit" value="Se connecter" />
</form>
</div>

<?php
 
 if (isset($_COOKIE['bool']))
{
 if (htmlspecialchars($_COOKIE['bool'])=='false') {echo '<script type="text/javascript">alert("Le nom d\'utilisateur ou le password entre ne correspond a aucun compte!,veuillez reconnecter!")</script>';}
   
   elseif (htmlspecialchars($_COOKIE['bool'])=='manque')
   { echo '<script type="text/javascript">alert("Il manque des paramètres,S\'il vous plaît faire votre selectionne sur tous les champs !")</script>';}
else {header('Location: acceuil.php');}  
}  
 
 ?>
 
    </body>
</html>



test.php
<?php 
session_start();
	//Se connecter à MySQL avec PDO:
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=pfe;charset=utf8', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
$bool='false';echo "2 er";
if (isset($_POST['nom_utilisateur']) && !empty($_POST['nom_utilisateur'])AND isset($_POST['pwd']) && !empty($_POST['pwd']) )
{
 $reponse = $bdd->query('SELECT * FROM administrateur');
            while ($donnees = $reponse->fetch())
            {
		  if ((htmlspecialchars($_POST['nom_utilisateur'])==htmlspecialchars($donnees['nomu'])) AND(htmlspecialchars($_POST['pwd'])==htmlspecialchars($donnees['pwd'])) )
			{ $bool='true';
		}
			}
			$reponse->closeCursor();
} 
// Il manque des paramètres, on avertit le visiteur
//echo "3 er";
elseif ((isset($_POST['nom_utilisateur']) && empty($_POST['nom_utilisateur']))OR (isset($_POST['pwd']) && empty($_POST['pwd'])) ){ 
$bool='manque';
}
//créer un cookie:Le dernier paramètre true permet d'activer le mode httpOnly sur le cookie, et donc de le rendre en quelque sorte plus sécurisé.
setcookie('bool',$bool, time() + 365*24*3600, null, null, false,true);
echo "4 er";
header('Location: index.php');		
?>	
            
A voir également:

1 réponse

Tu es entrain de créer un cookie dans ton index.php et ensuite tu affiches ta page d'administration tout simplement. il n'y a rien qui interdit ta page de s'afficher :)


J'allais t'expliquer pourquoi ça ne marche pas mais cela serait trop long. je t'invite à lire un cours de php du début a la fin ou alors de de modifier ta question en demandant tout ce que tu ne comprends pas dans ton code et on aura le plus grand plaisir à te répondre.
0