Formulaire PHP et noms de variables

washa -  
 deniro9 -
Comment récupérer le contenu d'une variable entrée dans un formulaire (méthode GET ou POST) dont le nom contient un espace?

exemple dans le formuaire, comment nommer 'adresse suite' ? :

<input name="adresse suite" value="">
A voir également:

6 réponses

jisisv Messages postés 3645 Date d'inscription   Statut Modérateur Dernière intervention   934
 
Ce n'est VRAIMENT pas une bonne idée d'utliser des espaces dans des noms de variables. Untilise un underscore "_".

Tu peux accéder proprement aux varaibles POST/GET grâce aux arrays
$_POST et $_GET
<?php
print($_POST["un tres mauvais nom de variable"];
print($_POST["ceci_est_mieux"];
?>

Johan Daine
The software said "Requires Windows98, Win2000, or better,
So I installed Unix.
1
washa
 
Merci pour ta réponse jisisv.

En fait j'ai trouvé la solution (car ajouter des '_' dans un formulaire ce n'est pas terrible).
La boucle suivante permet de récupérer le nom des variables (les blancs sont remplacés par des '_') et leur contenu :

// Décompose le tableau des variables saisies
$message="";
while (list($key, $val) = each($HTTP_GET_VARS)) {
$message .= "$key : $val\n";
}
0
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
washa : mauvaise solution. Utilise celle de jisiv.
Si ton formulaire est un GET (par défaut, et ce qui est dommage), utilise $_GET["nom de variable"].
Si ton formulaire utilise la method=POST, alors utilise $_POST["nom de variable"].

Comme jisiv, je te déconseille fortement les espaces dans les noms de variables.

PS : je ne comprends pas pourquoi tu décomposes les variables pour les reconcaténer juste après dans $message...

-= Bobinours - http://bobin.underlands.org =-
0
washa
 
Merci pour ta réponse, mais j'ai dû mal m'expliquer : évidemment que c'est une mauvaise solution de mettre des blancs dans les noms de variable, je suis tout à fait d'accord.
Mais dans un formulaire (que ce soit avec les méthodes 'GET' ou 'POST'), comment fais-tu pour que le libellé DANS LE FORMULAIRE contienne des blancs , puisque le formulaire te renvoie ces blancs dans le nom de la variable que tu récupères?

Exemple : je ne veux pas que dans mon formulaire on lise
'Adresse_de_votre_atelier' mais 'Adresse de votre atelier'
0
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
Je ne suis pas sûr de comprendre.

Si je fais un formulaire, j'aurais :

<form>
Adresse de votre atelier : <input type="text" name="adresse_atelier">
</form>

Le nom du champ est caché et ne sers qu'à toi. Maintenant si tu veux que ce nom soit complexe, avec des espaces, tu t'expose à des problèmes en programmation. (Et c'est une règle générale dans tous les langages de programmation,).

-= Bobinours - http://bobin.underlands.org =-
0
washa
 
Bobinours,

Je suis confus, je n'avais rien compris aux formulaires, j'ai confondu nom de variable et le libellé correspondant dans un script.

Merci à tous pour votre aide
0

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

Posez votre question
Bobinours Messages postés 2898 Date d'inscription   Statut Membre Dernière intervention   504
 
Ok. Si jamais tu voulais récupérer en plus le libélé du champ dans la page suivante, il faudrait le passer en paramètre dans un champ hidden :

<form>
Adresse de votre atelier :
<input type="text" name="adresse_atelier">
<input type="hidden" name="adresse_atelier_libele" value="Adresse de votre atelier">
</form>

-= Bobinours - http://bobin.underlands.org =-
0
deniro9
 
bonjour

j'arive pas a recupere les vaviable avec des espaces en mode post php

merci
0