Page 1 sur 1
Probleme avec mes variables $_POST
Posté : 12 juil. 2006, 10:06
par seb4536
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
Posté : 12 juil. 2006, 10:12
par seb3645
Je tiens à préciser que les noms de mes champs et les noms de mes $_POST sont corrects.
Posté : 12 juil. 2006, 10:21
par charabia
Du code nous aiderait sans aucun doute à repérer ton problème...
Posté : 12 juil. 2006, 10:39
par SEB3645
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 *</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
Posté : 12 juil. 2006, 11:06
par naholyr
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.
Posté : 12 juil. 2006, 11:20
par seb3645
Résultat de l'affichage
Array ()
Posté : 12 juil. 2006, 11:59
par naholyr
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
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.htmlCode : 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.phpCode : 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 ?
Posté : 12 juil. 2006, 12:20
par Invité
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.

Posté : 12 juil. 2006, 12:47
par se3645
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.
Posté : 19 juil. 2006, 09:32
par joecole
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
Posté : 19 juil. 2006, 09:52
par naholyr
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.
Posté : 19 juil. 2006, 14:35
par seb3645
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...................