Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/01/2011, 15h21   #1
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Par défaut formulaire variable $_POST non définie

Bonjour;

Je suis en train de me casser les dents depuis deux jours sur un formulaire qui ne marche plus.
J'avais conçu un site sur un hébergeur mutualisé, et j'ai fait la migration sur mon serveur personnel chez ovh. Mes formulaires ne fonctionnent plus.
Je vous montre le plus relevant de mes scripts de tests.

Code :
1
2
3
4
5
6
<form method="post" action="../essai.php">
    <fieldset>
	<input type="text" name="login" size="15" />
	<input type="submit" id="submit" value="Connexion" />
    </fieldset>
</form>
Puis la récupération des variables:
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
	echo "le login est ";
	echo $_POST['login'];
	if (isset($_POST['login']))
	{
		echo "login exists";
	} else {
		echo "login does not exist";
	}
        echo "fin";
?>
Voici ce qui est affiché sur mon navigateur;
Code :
le login est login does not existfin
Donc la variables $_POST['blabla'] quelqu'elle soit n'est pas initialisée. Elle n'existe même pas, "login does not exist" s'affiche.

Je ne sais pas comment expliquer ce phénomène. Je n'ai rien trouvé de conditions éventuelles dans la doc php sur cette variable, et la plupart des forums expliquent uniquement comment faire un formulaire.

Je vous remercie pour n'importe quelle début de piste/indice que vous pourriez me conseiller pour faire parler mes $_POST['blabla']

EDIT

encore un test:
Code :
1
2
3
4
5
if ( strtolower( $_SERVER['REQUEST_METHOD'] ) == 'post' ) {
		echo "something went post : " . $_SERVER['REQUEST_METHOD'];
	} else {
		echo "nothing found : " . $_SERVER['REQUEST_METHOD'];
	}
Ce qui est affiché:Donc côté serveur rien n'est trouvé et la méthode retournée est celle par défaut 'GET' ce qui ne m'aide pas :-S
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 19h30   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Etrange, je pense que ca ne ramenera rien mais tu peux toujours tenter un
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 20h31   #3
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Hello!
Merci de ta réponse!
J'ai rajouté cette instruction avant de faire un echo $_POST['login'] et ça me revoit J'ai regardé du côté de php.ini mais pour l'instant sans trop de succès, ça n'a pas l'air d'avoir rapport avec mon soucis.
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 20h42   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
essaie
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2011, 23h44   #5
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Hello!
Voici le résultat:
array(1) { ["PHPSESSID"]=> string(32) "e851178b24c28f1c6438a74f6f8fb789" }
Merci de ton aide!
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 00h00   #6
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Pratiques-tu l'URL Rewriting sur ton nouvel hébergement ?

Dans ce cas, cela pourrais venir de là.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/01/2011, 00h12   #7
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Mmmh .. pas à proprement parler.
En fait, j'ai un serveur physique qui contient des machines virtuelles.
Varnish en entrée du serveur me permet en fonction de l'url de rediriger vers l'une ou l'autre des machines virtuelles (OpenVZ) qui chacune héberge un site.
C'est la première fois que j'ai tenté cette manip, donc peut-être que c'est dû à cette configuration particulière? Je vais regarder cette piste.
Merci pour ton coup de main Eric2a
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 00h52   #8
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Bon, alors, en effet, à partir de l'environnement de base, ça fonctionne sans problème.
C'est quand on se situe dans une machine virtuelle que le soucis arrive. Donc j'ai migré le site en question sur l'environnement de base. Ça me permet de résoudre temporairement ce soucis Merci Eric2a ^^
Par contre, je ne comprends pas encore (mais aussi il est tard...) comment résoudre ce soucis. Je pensais que varnish se contentait de rediriger le flux TCP vers le serveur balbla si l'url d'entrée est blabla.fr et ainsi pour chaque url...
En attendant d'investiguer d'avantage, je vous souhaite une bonne soirée!

Hello, Eric2a;
Pourrais-tu m'en dire un peu plus sur cette histoire d'url rewriting?
J'ai pas trouvé grand chose à ce sujet.
J'ai vu que ce genre de soucis pouvait être lié aux includes dans mes pages (pour le header et le footer par exemple) mais ça ne s'adapte pas à mon cas.
Merci!
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2011, 21h07   #9
Membre Expert
 
Avatar de Fench
 
Inscription : mai 2002
Messages : 1 654
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : mai 2002
Messages : 1 654
Points : 1 807
Points : 1 807
Tu as du essayer le method="POST", car les éditeurs, les sources and co sont pas tjs d'accord

Sinon pas
__________________
Actuellement AI à l'INRA
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 02h45   #10
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Citation:
Envoyé par Balbuzard Voir le message
Pourrais-tu m'en dire un peu plus sur cette histoire d'url rewriting ?
Je viens de trouver un article qui explique bien ce dont je voulais parler
Citation:
mon formulaire était posté à http://example.com/index.php à cause d'une balise "base" définie à l'intérieur de la balise "head" de mon document :
Code :
<base href="http://example.com/" />
et l'attribut action de la balise "form" était le suivant :
Code :
<form method="post" action="./index.php">
A cause des redirections 301 qui font pointer example.com vers www.example.com et le formulaire qui pointe vers example.com/index.php, Apache n'associe pas le tableau $_POST avec www.example.com mais avec le domaine [i]example.com.

Source : Array $_POST vide
Apparement ce n'est pas ton cas, donc à part te proposer de vérifier dans le php.ini que :
  • variables_order contient bien la lettre P
  • post_max_size contient une valeur acceptable (8M par défaut)
À mon niveau, je ne vois rien d'autre.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/01/2011, 15h12   #11
Membre confirmé
 
Avatar de Balbuzard
 
Inscription : août 2008
Messages : 374
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : août 2008
Messages : 374
Points : 210
Points : 210
Bon, mon fichier php.ini est correct.
En fait le soucis ne venait pas exactement de l'url rewriting, même si c'est cette idée m'a mis sur la voie
Le truc est que pour passer du serveur physique vers les machines virtuelles, cette variable n'était pas prise en compte par varnish. Il fallait la repositionner dans la conf
Code :
if(req.request == "POST") { pipe; }
Merci à vous et vos réponses qui m'ont mis sur le bon chemin
__________________
ZORRO
Plus Vengeur que Masqué
Balbuzard est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h28.


 
 
 
 
Partenaires

Hébergement Web