valeur qui ne passent pas en POST

valeur qui ne passent pas en POST - PHP - Programmation

Marsh Posté le 24-08-2007 à 23:29:10    

Bonjour,
 
voici mon probleme:
je fais un petit script pour vérifier un mot de passe:
 
<?php
echo "<form method= \"POST\" action=\"ftp.php\"\n";
echo "<input type=\"password\" name=\"pass\">\n";
echo "<input type=\"submit\" name=\"submit\" value=\"ok\"\n";
echo "</form>\n";
 
if(isset($_POST['pass'])){
 echo "on rentré le pass:".$pass;
}
?>
 
quand je fais afficher le code source dans l'explorateur, apres avoir rentré mon mot de passe, je reçois:
 
<form method= "POST" action="ftp.php"
<input type="password" name="pass">
<input type="submit" name="submit" value="ok"
</form>
on rentré le pass:
 
donc mon script a l'air correct, mais la valeur du mot de passe n'est pas passée!
 
pourtant, la variable $pass est bien définie puisque "on rentré le pass:" s'est affiché
 
est ce que quelqu'un peut me dire d'ou vient ce probleme de variable qui ne passe pas?
 
sinon, j'ai pensé à le faire en javascript mais comment faire pour que le mot de passe n'apparaisse pas dans le code source de la page?
(sinon, si vous avez un truc tout fait pour vérifier les mots de passe, ça me va aussi ;))
 
 

Reply

Marsh Posté le 24-08-2007 à 23:29:10   

Reply

Marsh Posté le 24-08-2007 à 23:34:09    

De l'html valide c'est bien avant de venir sortir "ça marche paaaaaaaas".
 
Tu sais, le > n'est pas optionnel pour la balise <form> ni pour l'<input>. Et si les balises pouvaient être fermées, tant qu'à faire.

Reply

Marsh Posté le 24-08-2007 à 23:39:25    

ouais, j'ai vu ça apres avoir posté le code, mais je l'ai corrigé et ça marche toujours pas :s
 
j'ai deja eu le pb avec easyPHP, il fallait modifier une bricole dans les fichiers de config, mais la, j'essaie sur le serveur PHP de mon hébergeur donc bon...
 
ps: ça se ferme forcément un input? (dsl, mais je connais pas trop l'html)

Reply

Marsh Posté le 24-08-2007 à 23:50:57    

le post tu dois l'afficher dans le ftp.php que tu appelles. Le source que tu affiches est bien ftp.php ?

Reply

Marsh Posté le 24-08-2007 à 23:52:35    

oui oui, tout est dans la meme page: "ftp.php", l'idée, c'est que je n'ai pas 50 fichiers sur mon serveur, je trouve ça plus propre

Reply

Marsh Posté le 25-08-2007 à 00:01:52    

pourquoi tu affiches $pass et non $_POST['pass'] ?
Je pense que c'est ça le souci.

Reply

Marsh Posté le 25-08-2007 à 00:04:45    

YAAAAA :) :) :) ça marche!
en fait, avant, je mettais juste $pass parce que ça marchait tout le temps ;)
mais là, apparemment, je bosse sur un serveur un peu plus capricieux ;)
en tout cas, merci beaucoup ;)

Reply

Marsh Posté le 25-08-2007 à 00:08:33    

liouan a écrit :

YAAAAA :) :) :) ça marche!
en fait, avant, je mettais juste $pass parce que ça marchait tout le temps ;)
mais là, apparemment, je bosse sur un serveur un peu plus capricieux ;)
en tout cas, merci beaucoup ;)


 
Nop, un serveur mieux réglé. :)

Reply

Marsh Posté le 25-08-2007 à 00:13:16    

Ben oui c'est le mode de fonctionnement recommandé des serveurs avec php, sinon tu peux hacker un site en modifiant les variables directement dans l'adresse genre www.foo.com/index.php?user=root t'as beau pas avoir le mot de passe, c'est bon parce que $_SESSION['user'] sera remplacé par $_GET['user'] quand tu utilisera juste $user
 
Ce truc qui a permis le succès de PHP à ses débuts au près des néophytes de la programmation est aussi à la base du dégoût envers PHP que ressentent les "pros" de l'info ...


---------------
The Rom's, à votre service
Reply

Marsh Posté le 25-08-2007 à 00:23:56    

j'en apprends des choses, ça fait plaisir, merci à vous :)

Reply

Marsh Posté le 25-08-2007 à 00:23:56   

Reply

Marsh Posté le 26-08-2007 à 02:23:34    

Pour culture cette vilaine façon de réagir c'est le fameux register_globals à on. Une vaste fumisterie et tu en es un bel exemple du dégat créer, mais c'est pas grave l'essentiel étant que tu te documentes, que tu comprennes et que tu fasses plus avec ça ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed