Formulaire PHP et noms de variables

Fermé
washa - 3 janv. 2003 à 11:32
 deniro9 - 9 juil. 2008 à 15:34
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 dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
3 janv. 2003 à 11:52
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
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 jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
12 janv. 2003 à 02:38
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
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 jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
12 janv. 2003 à 14:32
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
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 jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
15 janv. 2003 à 14:32
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
bonjour

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

merci
0