Page 1 sur 1
bizarre bizarre
Posté : 12 juil. 2005, 12:01
par lefox88500
bonjour a tous
J'ai un code qui dit que quand je tape le bon mot de passe sa minclue la page liste_news.php et si pas bon sa me ramene a index.php
mais le probleme c'est que meme en tapant bon mot de passe sa me ramene a la page index.php
la je ne comprend pas , merci davance a celui qui trouvera ce qui cloche
<?
if (isset($_POST['mot_de_passe']))
{
$mot_de_passe = $_POST['mot_de_passe'];
}
else
{
$mot_de_passe = "";
}
if ($mot_de_passe == "lefox88500")
{
include ("liste_news.php");
}
else
{
?>
<html>
<head>
<title></title>
</head>
<body>
<p>Veuillez entrer le mot de passe :</p>
<form action="index.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
</center>
</body>
</html>
<?
}
?>
Posté : 12 juil. 2005, 12:06
par zeus
Met ce code et dit nous ce qu'il fait
Je me suis permis de formater un peu ton code pour le compresser
<?
if (isset($_POST['mot_de_passe'])) {
$mot_de_passe = $_POST['mot_de_passe'];
} else {
$mot_de_passe = "";
}
echo "MDP : ".$mot_de_passe."<br />\n";
if ($mot_de_passe == "lefox88500") {
include ("liste_news.php");
} else {
?>
Posté : 12 juil. 2005, 12:25
par lefox88500
hé ben merci pour la compression
mais il me renvoie toujours a la page index
je compren rien la
Posté : 12 juil. 2005, 12:31
par Flo
Si tu place un echo pour ton code HTML ça ne suffit pas ?
En reprennant le code de zeus ça donnerai ça:
<?
if (isset($_POST['mot_de_passe'])) {
$mot_de_passe = $_POST['mot_de_passe'];
} else {
$mot_de_passe = "";
}
echo "MDP : ".$mot_de_passe."<br />\n";
if ($mot_de_passe == "lefox88500") {
include ("liste_news.php");
} else {
echo"
<html>
<head>
<title></title>
</head>
<body>
<p>Veuillez entrer le mot de passe :</p>
<form action='index.php' method='post'>
<p>
<input type='text' name='mot_de_passe' /> <input type='submit' value='Valider' />
</p>
</form>
</center>
</body>
</html>
";
}
?>
Posté : 12 juil. 2005, 13:10
par Cyrano
Si tu place un echo pour ton code HTML ...
Grrrrrrr, pourquoi faire interpréter inutilement le HTML à PHP: ça alourdit et ralentit l'application: le HTML n'a nullement bsoin d'être interprété coté serveur pour être ensuite envoyé au navigateur qui va de toute façon interpréter le HTML.
Cette méthode de programmation n'est pas propre.
Pour le problème, vérifie donc une chose en faisant la chose suivante :
<pre>
<?php
var_dump($_POST);
?>
</pre>
Vérifie donc ce que tu envoies via ton formulaire ?
Posté : 12 juil. 2005, 13:46
par lefox88500
cyrano faut que ej place ta comande a quel niveau entre quoi et quoi ?
Posté : 12 juil. 2005, 13:49
par mere-teresa
tu places cette commande ARPES avoir rempli la variable.
Posté : 12 juil. 2005, 13:56
par Cyrano
Sois logique lefox88500: on veut afficher les variables envoyées par le formulaire, donc chronologiquement, il faut que ce soit à un endroit où le code est exécuté APRÈS le clic sur le bouton d'envoi.
Posté : 12 juil. 2005, 13:57
par lefox88500
apres la ligen la alors
$mot_de_passe = $_POST['mot_de_passe'];
Posté : 12 juil. 2005, 14:00
par Cyrano
Après ou avant cette ligne là n'a aucune importance, on va faire afficher le contenu de la super-globale $_POST
Posté : 12 juil. 2005, 14:02
par lefox88500
ben sa me ramene a l'index sans rien m'affciher de special
Posté : 12 juil. 2005, 14:04
par lefox88500
mais quand je fait sa tout ce qui ets apres ce code est qui devrait apparaitre en PHP n'est pu reconnu comme du PHP
Posté : 12 juil. 2005, 14:07
par Cyrano
<pre>
<?
var_dump($_POST);
?>
</pre>
<?php
$mot_de_passe = isset($_POST['mot_de_passe'])?$_POST['mot_de_passe']:"";
/*
if ($mot_de_passe == "lefox88500")
{
include ("liste_news.php");
}
else
{
*/
?>
<html>
<head>
<title></title>
</head>
<body>
<p>Veuillez entrer le mot de passe :</p>
<form action="index.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
</center>
</body>
</html>
<?
/*}*/
?>
Posté : 12 juil. 2005, 14:16
par lefox88500
le bon code est celui ci en fait avec ce mode de mot de passe il faut que la page de la condition negative doit etre la meme que celle ou le code est deja voila
mes propos son a verifier par expert mais il me semble que C juste car pour moi sa a marcher
<?
if (isset($_POST['mot_de_passe']))
{
$mot_de_passe = $_POST['mot_de_passe'];
}
else
{
$mot_de_passe = "";
}
if ($mot_de_passe == "lefox88500")
{
include ("liste_news.php");
}
else
{
?>
<html>
<head>
<title></title>
</head>
<body>
<p>Veuillez entrer le mot de passe :</p>
<form action="identification1.php" method="post">
<p>
<input type="text" name="mot_de_passe" /> <input type="submit" value="Valider" />
</p>
</form>
</center>
</body>
</html>
<?
}
?>
[/php]