Création
d'entreprise
Posez votre question Signaler

Php , page protégée , formulaire

loic - Dernière réponse le 26 juil. 2007 à 13:35
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>
Lire la suite 

Php , page protégée , formulaire »

9 réponses
Réponse
+0
moins plus
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');
Ajouter un commentaire
Réponse
+0
moins plus
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>
Ajouter un commentaire
Réponse
+0
moins plus
non je dois garder le code de départ c'est un exercice de débutant toi tu me le compliques
Ajouter un commentaire
Réponse
+0
moins plus
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>";
}
}

?>
Ajouter un commentaire
Réponse
+0
moins plus
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 .
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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...
Courageux anonyme - 25 juil. 2007 à 23:25
echo '<a href="kouk.html">yo</a>';

c'est mieux
Alain42 - 26 juil. 2007 à 13:35
Ou tu échappes les doubles quotes " par un \ quand elles sont dans une chaine avec des " au début et à la fin

echo "<a href=\"kouk.html\">yo</a>";
Ajouter un commentaire
Ce document intitulé « php , page protégée , formulaire » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?