Php , page protégée , formulaire
loic
-
Alain42 -
Alain42 -
Bonjour , en php j'essaye d'écrire un code qui à partir d'un formulaire récupère la valeur d'une variable et si cette valeur est celle demandée , elle affiche la page web souhaitée sinon elle affiche la page web de départ avec le formulaire, j'ai commencé le code mais il marche pas , j'aurais besoin de vos conseils svp , merci :
<html>
<head>
<title>php</title>
</head>
<body>
<p>Tape le code pirate en herbe</p>
<form action="formu.php" method="post">
<p>
<input type="text" name="code" /> <input type="submit" value="Valid" />
</p>
</form>
<?php
$my_pass ="coucou";
if (isset($_POST['my_pass']))
{
if (my_pass == "coucou")
{
echo "page.html";
}
else
{
echo "<a href="formu.php">";
}
?>
</html>
7 réponses
-
Essaie de remplacer ça
if (isset($_POST['my_pass'])) { if (my_pass == "coucou") { echo "page.html"; } else { echo "<a href="formu.php">"; }
Par ça$code = (isset($_POST['code'])) ? $_POST['code'] : ''; if ($code == $my_pass) header('Location: page.html'); -
Ou carrement
<html> <head> <title>php</title> </head> <body> <?php $my_pass ="coucou"; if (isset($_POST['code'])) { $code = ($_POST['code'] == $my_pass) ? true : false; if ($code) header('Location: page.html'); } ?> <p>Tape le code pirate en herbe</p> <form action="formu.php" method="post"> <p> <input type="text" name="code" /> <input type="submit" value="Valid" /> </p> </form> </body> </html> -
-
Acceptes qd même de corriger tes erreurs:
if (isset($_POST['my_pass']))
Ce n'est pas le champ nommé "my_pass" qui est posté par ton formulaire mais "code"
alors
if (isset($_POST['code']))
{
if ($_POST['code'] == "coucou")
{
echo "page.html"; // ce n'est pas echo qui va afficher ta page,il écrira seulement "page.html"
il faut mettre header('Location: page.html');
}
else
{
echo "<a href="formu.php">"; // pareil
la tu mets echo "<a href="formu.php">nom_lien</a>";
}
}
?> -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
alain je regrette je suis pas d'accord "Acceptes qd même de corriger tes erreurs:
if (isset($_POST['my_pass']))
Ce n'est pas le champ nommé "my_pass" qui est posté par ton formulaire mais "code" "
non non , $_POST[ ] c'est une variable et entre crochet on doit metre la variable , rien à voir avec code . -
Désolé mais je pense connaitre assez bien le php, alors $_POST est un array de tous les champs postés par le formulaire lorsque tu cliques sur le bouton Valid
donc pour lire la valeur de ton champ:
<input type="text" name="code" />
il faut que tu fasses valeur_champ_code=$_POST['code']
et après tu fais les tests que tu veux dessus
tiens essaye de mettre print_r($_POST) tu verras ce que te renvoie le formulaire -
j'ai une erreur de compilation sur cette ligne :
echo "<a href="kouk.html">yo</a>";
Parse error: parse error, expecting `','' or `';''
je ne comprends pas...