Probleme avec mes variables $_POST

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme avec mes variables $_POST

par seb3645 » 19 juil. 2006, 14:35

Me revoila avec des éléments troublants. Le même site posant problème sous IIS 6.0 fonctionne à merveille avec IIS 5.1. Je cracque...................

par naholyr » 19 juil. 2006, 09:52

En espérant qu'on aie le retour de se3645 car je n'ai aucune expérience sur PHP+IIS, et je crois que peu en ont dans le coin.

par joecole » 19 juil. 2006, 09:32

J'ai le même problème, je me demande si cela ne viens pas de IIS 6.0 Quelqu'un aurait-il des infos à ce sujet ? Merci d'avance

par se3645 » 12 juil. 2006, 12:47

Vous avez -- comme toujours -- raison. Vous avez mis le doigt ou il fallait et je vous en remercie.

En effet, lorsque je renvoie mon formulaire vers form.php (celui ci dessus), mon $_POST n'est plus une chaine vide. Je vais voir ce que cela donne sans mon header.

par Invité » 12 juil. 2006, 12:20

Merci pour ce code (mon serveur c'est IIS 6.0). Résultat : tout est ok sur les pages ci_dessus.

Mon formulaire renvoi directement sur la page identification.action.php.
Je viens de me rendre compte que c'est tout mes $_POST qui posent problème

Ce problème me dépasse et me rend fou. :?

par naholyr » 12 juil. 2006, 11:59

Alors là tu as vraiment un problème étrange, parce que ce serait bien la première fois que je vois un passage de variable par POST échouer :lol:

Vérifie que tu n'as pas du html un peu "éxotique" (formulaires imbriqués, choses de ce genre), vérifie également que ce n'est pas un bug de ton serveur avec un test simple :

form.html

Code : Tout sélectionner

<html> <head><title>Test formulaire</title></title> <body> <h1>Formulaire POST</h1> <form method="post" action="form.php"> champ A : <input type="text" name="A" value="valeur A"><br> champ B : <input type="text" name="B" value="valeur B"><br> <input type="submit"> </form> <h1>Formulaire GET</h1> <form method="get" action="form.php"> champ A : <input type="text" name="A" value="valeur A"><br> champ B : <input type="text" name="B" value="valeur B"><br> <input type="submit"> </form> </body> </html>
form.php

Code : Tout sélectionner

<html> <head><title>Résultat</title></head> <body> Méthode : <b><?php echo $method = $_SERVER['REQUEST_METHOD']; ?></b><br> Résultat : <pre><?php print_r(${"_$method"}); ?></pre> </body> </html>
N'y a-t-il pas dans tes fonctions JS de vérifications une manipulation qui modifie le formulaire ?
Y aurait-il un header('location') qui renvoie vers la page de traitement après réception du formulaire ?

par seb3645 » 12 juil. 2006, 11:20

Résultat de l'affichage

Array ()

par naholyr » 12 juil. 2006, 11:06

extrait du fichier "identification.action.php
/*php
echo '<pre>';
print_r($_POST);
echo '</pre>';

$hmiInternaute = Internaute::getItemList('"int_login"=' . $scnDefautConnection->escapeString($_POST['login']));
Tu en auras le coeur net : $_POST a-t-il réellement un problème, ou est-ce plutôt ta fonction $scnDefautConnection->escapeString(), ou encore Internaute::getItemList, ou encore $hmiInternaute->size()... ? Je pense que tu as cherché un bug là où il n'était pas, mais le print_r nous en donnera la certitude.

par SEB3645 » 12 juil. 2006, 10:39

Extrait du fichier "identification.telmplate.php"
<form class="adminForm" method="post" action="admin.identification.action" onsubmit="return checkFields(this);">
	<div class="errorLogin"><?php if (array_key_exists('message', $_SESSION)) echo $_SESSION['message'];?></div>
	<div class="tabIdentification">
		<div class="identification">
			<div class="login">
				<img alt="[Login]" src="skins/novintec/images/backgrounds/login.png" />
			</div>
			<div class="loginInfo">
				<p>
					<label for="login" class="mandatory block">Identifiant&nbsp;*</label>
					<input type="text" value="" id="login" name="login" size="40" class="inline" onchange="checkField(this);" />
					<script type="text/javascript">arrChecks.push(new Array("login", /^[a-zA-Z_]{1,10}$/));</script>
				</p>
extrait du fichier "identification.action.php
$hmiInternaute = Internaute::getItemList('"int_login"=' . $scnDefautConnection->escapeString($_POST['login']));
/************************
if ($_POST['login'] == "")
     $v = "POST VIDE - ";
************************/
if ((int)$hmiInternaute->size() === 0) 

{
	$_SESSION['message'] = $v . "Votre login est incorrect";
	HttpBuffer::redirect('login');
}
 
----------------------------
Mon souci provient du fait que sytématiquement j'ai un renvoi qui me dit :

POST VIDE - votre login est incorrect

par charabia » 12 juil. 2006, 10:21

Du code nous aiderait sans aucun doute à repérer ton problème...

par seb3645 » 12 juil. 2006, 10:12

Je tiens à préciser que les noms de mes champs et les noms de mes $_POST sont corrects.

Probleme avec mes variables $_POST

par seb4536 » 12 juil. 2006, 10:06

Bonjour,

je souhaiterais savoir pourquoi à chaque fois que j'ai un $_POST, la valeur renvoyée est une chaine vide (ce qui m'empêche de faire des insertions et des modifications dans ma BDD).

Merci