Forum Clubic

Lien entre php et css, affichage d'un message d'erreur lorsque mauvais mdp

Bonjour a tous.
J’ai un petit probleme avec le tuto php du Site du Zero.
Je n’arrive pas a faire le lien entre le texte qu’affiche le php et le fichier .css.

Mon autre probleme est que je voudrais afficher un message d’erreur lorsqu’on a entré un mauvais mot de passe, cependant ce message d’erreur s’affiche dès la premiere tentative, avant qu’il n’y ait eu essai.

Voila mes codes (le php vient du site du zero) et merci a vous:


<?php
//Je choisis le mot de pass "Kangourou"
if (isset($_POST['mot_de_pass'])) //Donc si la variable existe
{//On se crée une variable $mot_de_pass
	$mot_de_pass = $_POST['mot_de_pass'];
}
else //Si elle n'éxiste pas
{//On crée une variable $mot_de_pass vide
	$mot_de_pass = "";
}

if ($mot_de_pass == "kangourou")
{

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Codes d'accès au serveur central de la NASA</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Index" href="index.css" />
    </head>
    <body>
        <h2>Voici les codes d'accès :</h2>
        <h3>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</h3>
       
        <hr />
       
        <p>
        Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
        La NASA vous remercie de votre visite.
        </p>
    </body>
</html>
<?php
}

else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Page protégée par mot de passe</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Index" href="index.css" />

	</head>
    <body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès au serveur central de la NASA :</p>
<form action="protection.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p class="red"> Mot de pass érroné <p>
<p>Cette page est réservée au personnel de la NASA. Si vous ne travaillez pas à la NASA, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
    </body>
</html>
<?php
} // Fin du else
// Fin du code :)
?>
.red
{
color= red;
}

Edité le 13/08/2007 à 14:17

C’est pas la feuille de style qui est en cause.

C’est le fonctionnement du code.

Normalement, c’est un code en trois étape :

if (!isset($_POST['password'])) {
  // demande du mot de passe
} elseif ($_POST['password'] !== 'kangourou') {
  // message d'erreur
} else {
  // welcom 
}

Dans ton cas, tu crée la variable mot de passe si elle n’existe pas, donc tu ne peux pas avoir l’étape de demande.

Et je ne pense pas me tromper en supputant que tu dois avoir dans ce tutorial (j’irai pas vérifier) une autre page qui demande le login et renvoie sur cette page problématique.

J’ai pas compris ta réponse, mais il n’est pas question de login, juste de protéger une page protégée par mot de pass.
Voila le tuto: www.siteduzero.com… si tu veux plus de précision

Je ne fais que répondre à (ou une partie de) ton problème :

Et sinon, c’est : .red {color: red;}

Ben justement mon code css est juste :s

Non, pas celui que tu donnes en tout cas.

Et quant à ta page, il manque la partie où tu rentre le login, qui pour moi est la partie qui évite que “ce message d’erreur s’affiche dès la premiere tentative, avant qu’il n’y ait eu essai”

Ah oué merde pour le css.
Corrigé et ca ne marche toujours pas :s
Par contre sur un autre forum on m’a dit qu’en le recopiant ca marche …


<?php
//Je choisis le mot de pass "Kangourou"
if (isset($_POST['mot_de_pass'])) //Donc si la variable existe
{//On se crée une variable $mot_de_pass
	$mot_de_pass = $_POST['mot_de_pass'];
}
else //Si elle n'éxiste pas
{//On crée une variable $mot_de_pass vide
	$mot_de_pass = "";
}

if ($mot_de_pass == "kangourou")
{

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Codes d'accès au serveur central de la NASA</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Index" href="index.css" />
    </head>
    <body>
        <h2>Voici les codes d'accès :</h2>
        <h3>CRD5-GTFT-CK65-JOPM-V29N-24G1-HH28-LLFV</h3>
       
        <hr />
       
        <p>
        Cette page est réservée au personnel de la NASA. N'oubliez pas de la visiter régulièrement car les codes d'accès sont changés toutes les semaines.<br />
        La NASA vous remercie de votre visite.
        </p>
    </body>
</html>
<?php
}

else // le mot de passe n'est pas bon
{
// On affiche la zone de texte pour rentrer le mot de passe.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Page protégée par mot de passe</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
		<link rel="stylesheet" media="screen" type="text/css" title="Index" href="index.css" />

	</head>
    <body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès au serveur central de la NASA :</p>
<form action="protection.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p<?php echo $mot_de_pass===''?'':' class="red"';?>> Mot de pass érroné <p>
<p>Cette page est réservée au personnel de la NASA. Si vous ne travaillez pas à la NASA, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
    </body>
</html>
<?php
} // Fin du else
// Fin du code :)
?>

essaye ça.
Edité le 15/08/2007 à 00:27

C’est bon merci a vous, ca marche maintenant :smiley: