Page protégée par un mot de passe

Résolu/Fermé
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 20 sept. 2008 à 00:59
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 - 21 sept. 2008 à 00:04
Bonsoir:
J'ai un problem avec ce code source, si j'entre le mot de passe "problem" ou un autre j'accéde comme même a la page protégée je ne sais pas pourquoi, comment ça marche merci d'avance !
<?php

if (isset($_POST['mot_de_passe'])) 
{

    $mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore

}
 
if ($mot_de_passe == "problem") 
{

?>
<!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'acces</title>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    
       <a href="gestion/admin/rediger_news.php">ICI</a>
    </body>
</html>
<?php
}
else 
{

?>
<!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" />
    </head>
    <body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès</p>
<form action="gestion/admin/rediger_news.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée au personnel de la NAR. Si vous ne faites pas partis des administrateurs, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
    </body>
</html>
<?php
} 
?>

5 réponses

Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
20 sept. 2008 à 17:18
Merci pour ton aide, quand j'écris "problem" dans le forumulaire, firefox me dit aprés:
Firefox ne peut trouver le fichier à l'adresse /C:/Documents and Settings/Libre.MAISON/Mes documents/Projet NAR/<?php echo $_SERVER[PHP_SELF]; ?>.
1
billwate Messages postés 48 Date d'inscription samedi 2 août 2008 Statut Membre Dernière intervention 19 avril 2010 28
20 sept. 2008 à 04:21
<?php

if (isset($_POST['mot_de_passe']))
{

$mot_de_passe = $_POST['mot_de_passe'];
}
else // La variable n'existe pas encore
{
$mot_de_passe="";

}

if ($mot_de_passe == "problem")
{

?>
<!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'acces</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>

<a href="gestion/admin/rediger_news.php">ICI</a>
</body>
</html>
<?php
}
else
{

?>
<!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" />
</head>
<body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès</p>
<form action="gestion/admin/rediger_news.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée au personnel de la NAR. Si vous ne faites pas partis des administrateurs, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
</body>
</html>
<?php
}
?>




===================================================================
===================================================================
NB : Pas besoin d'avoir deux pages HTML pour faire ceci. Une page (formulaire) bouclant sur elle même pour le controle du mot de passe - avec la fonction header("location:xxxx") aurait suffit et donnerait un programme mieux écrit.


<?php

if (isset($_POST['valider']))
{

$mot_de_passe = $_POST['mot_de_passe'];
if ($mot_de_passe == "problem")
{
header("location:gestion/admin/rediger_news.php");
}
}

?>


<!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" />
</head>
<body>
<p>Veuillez entrer le mot de passe pour obtenir les codes d'accès</p>
<form action="<?php echo $_SERVER[PHP_SELF]; ?>" method="post">
<p>
<input type="password" name="mot_de_passe" /> <input name='valider' type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée au personnel de la NAR. Si vous ne faites pas partis des administrateurs, inutile d'insister vous ne trouverez jamais le mot de passe ! ;-)</p>
</body>
</html>

Type de la zone mot de passe, mets plutot type='password' au lieu de type='text'
0
kryoportail Messages postés 222 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 22 mai 2014 125
20 sept. 2008 à 04:33
Bonjour,

Je crois que billwate a tout dit !

Amicalment,
S@M...
http://kryoportail.ath.cx
0
kryoportail Messages postés 222 Date d'inscription dimanche 10 août 2008 Statut Membre Dernière intervention 22 mai 2014 125
20 sept. 2008 à 21:06
Re,

Ton code PHP semble valide...

Si ton navigateur te rapporte cette erreur, c'est certainement que la page n'est pas interprétée par PHP.

Il peut y avoir deux raisons possibles :

1. Tu lis directement le fichier HTML via ton navigateur sans passer par un serveur web équipé de PHP. Dans ce cas, il faut en installer un, pour exécuter PHP. Pour éviter de te 'prendre la tête', tu peux en installer un 'clef en main' sous Windows, EasyPHP (https://www.easyphp.org/ ou Wamp (https://www.wampserver.com/
Attention ces 2 configurations sont biens pour développer, mais pas pour la production.

2. Tu as déjà installé un serveur Web sur ton système et tu es sur de passer par lui. Dans ce cas, c'est peut être que PHP n'est pas installé avec ton serveur (Pour résoudre ce problème fait comme pour la solution 1.).

3. Bêtement, ton serveur ne considère pas que ta page est un script PHP. Dans ce cas, il faut modifier la configuration de ton serveur (ce que je te déconseille si tu es débutant). Généralement pas défaut, le serveur est configuré pour exécuter uniquement les fichiers dont l'extention est '.php'. Bref, si c'est ce problème que tu as, une solution simple, est de renommer ton fichier te servant de formulaire en 'MyForm.php'.

Amicalement,
S@M...
http://kryoportail.ath.cx
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Chabanus Messages postés 978 Date d'inscription dimanche 23 décembre 2007 Statut Membre Dernière intervention 11 novembre 2011 70
21 sept. 2008 à 00:04
Enfin, ça marche a la perfection merci :) avec wamp c'est le top ! Bonne soirée a tous
0