Mélange POST et GET

Résolu
biggus Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   -  
incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai un problème avec mon site:
j'ai fait un formulaire en méthode POST mais quand je clique sur le bouton qui m'envoie sur la page demandée je vois les champs renseignés dans la barre d'adresse. C'est problématique car ce sont les login et mot de passe de l'administrateur.
A voir également:

10 réponses

Nirvv Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
Tu pourrais poster ton code pour qu'on voit un peu de quoi ça a l'air ? ^^
Car personnellement, je vois pas trop de solution là.
Mci
0
biggus Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   1
 
<?PHP
include("header.html");

$admin2=0;
if (isset($_GET['admin']))$admin2=$_GET['admin'];
if($admin2==1)
echo'<form action="veriflogin.php" methode="POST">
Login admin:<br/>
<input type="text" name="login" size="10"/><br/>
Mot de passe:<br/>
<input type="password" name"mdp" size="10"/><br/>
<input type="submit" value="Valider"/>
<a href="index.php?admin=0">
<input type="reset" value="Annuler"/>
</a>
</form>';
?>
<br/>
<li>
<a href="index.php?admin=1">Se connecter en tant qu'administrateur"</a>
</li>
</ul>
</div>
</div>
</body>
</head></html>

et voila la page appelée:
<?php
include("header.html");
include("connex.php");
if(empty($_POST['login']) && empty($_POST['mdp']))
echo "Veuillez renseigner les champs manquants!";
else {$login=$_POST['login'];
$login=$_POST['mdp'];}
0
incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
 
Salut

La logique m'a l'air bonne. Par contre method = "POST" (sans e final à method). Je pense aussi que tu devrais ajouter aussi les "<html><head><title></title></head><body> avant ton <form> car si ton script s'éxécute en premier, il ne génère pas ces balises mais attaque directement avec ta balise <form>

Il n'y a pas de "/" dans <br/>. ----> <br>

Je ne sais pas si ces corrections régleront ton problème, mais c déjà un ptit début ;-)

Dis nous quoi.

IC
0
Dr Zoidberg Messages postés 529 Date d'inscription   Statut Membre Dernière intervention   100
 
Salut,

Oui c'es method="post"
Par contre on utilise bien <br/> en xhtml, toute balise ouverte doit être fermée
0

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

Posez votre question
incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
 
Ha désolé, je pensais que tu codais en html ;-)

A+

IC
0
biggus Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   1
 
l'include ouvre les balises fermées dans le php.
0
Nirvv Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   1
 
Alors en effet, dans l'ensemble la logique est bonne.
Comme remarqué plus haut, c'est "method="post"" sans E method ^^'. Et comme on l'a dit aussi, hésite pas a mettre les balises d'en-tete, titres etc... (doctype meme c'est plus correct).

Apres au niveau du code en lui meme :
Oublie pas les accolades { et pour fermer } la condition "if" (car elle se situe sur plusieurs lignes, donc c'est plus correct de mettre des accolades pour ouvrir et fermer toute la condition)
Ensuite c'est un peu moche (enfin c'est mon avis et une question de clareté hin) d'utiliser "echo" pour afficher le formulaire. Préfères fermer les balises php en faisant ?>. Et apres t'inscris ton formulaire (si ton editeur colore le code, ça sera encore + clair), ensuite tu réouvres <?php ... . (Enfin ça c'est mon avis, chacun sa façon de coder ^^')

T'as aussi oublié le "=" du name dans ton input, donc "name=mdp" (Donc le champ "post" peut être mal créer ensuite).
Tu mets aussi dans ton else $login = $_POST['login']; et apres $login = $_POST['mdp']. Pourquoi ? (C'est une erreur ?)

Normalement si tu rends plus clair ton code tu verras mieux les erreurs (mais là elles sont petites).
Ca devrait fonctionner ensuite ^^'
0
biggus Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   1
 
j'ai corrigé pas d'améliorations.
Le truc c'est que malgré la méthode POST, les variables sont visibles dans la barre d'adresses.
je viens de tester en mettant tout en méthode GET sauf le formulaire et ça marche oO.
0
biggus Messages postés 32 Date d'inscription   Statut Membre Dernière intervention   1
 
C'est bon ça marche.
Vous ma l'avez dit je sais pas combien de fois mais je croyais que c'était à POST que vous disiez qu'il manquait un e mais c'était à méthode où il y en avait un de trop ^^'''.
Désolé du dérangement.
0
incaout Messages postés 347 Date d'inscription   Statut Membre Dernière intervention   74
 
C pas grave, l'important c que ca fonctionne :-)

A+

IC
0