[résolu] Utilsation des variables super_globales PHP

Nouveau WRInaute
Bonjour,

J'utilise des super globales de type $_SESSION pour gérer des formulaires.

Quand je saisi une donnée, elle est stockée dans une variable normale et dans une $_SESSION. Si une erreur de saisie est détectée en phase de contrôle, il y a retour au formulaire et affichage des données déjà saisies dans les champs respectifs.

Ce sont donc les super globales qui me permettent de récupérer la saisie initiale.

Tout serait pour le mieux si...... dans le cas où la saisie comporte un espace, l'espace et la suite sont tronqués.

Une saisie de prénom JEAN PIERRE devient JEAN.........

Quelqu'un peut-il me renseigner sur ce problème ?

Merci.


C.P.
 
WRInaute impliqué
Re: Utilsation des variables super_globales PHP

doit manquer qqchose qqpart, faudrait voir le code, dés fois, avec les espaces, ça peut etre les " ou ' qui manquent autour, mais j'ai déja eu ce cas la.
 
Nouveau WRInaute
Re: Utilsation des variables super_globales PHP

mx a dit:
doit manquer qqchose qqpart, faudrait voir le code, dés fois, avec les espaces, ça peut etre les " ou ' qui manquent autour, mais j'ai déja eu ce cas la.

Un module de la page de création :

echo '<p align="left"><b><font color="red">Nom:</font></b><br>';
echo '<input type="text" class="UpperCase" name="nom" size=40 maxlength="25" value= '.$_SESSION[NOM].'>';
echo '</p>';

$_SESSION[NOM] est initialisé à blanc au premier passage, au second (cas où il y a une erreur de saisie) il y a un drapeau qui évite l'initialisation à blanc faite avant le premier passage.


Un module de la page de contrôle :

if($nom=="")
{die("Erreur, il n'y a pas de nom indiqué.<br><br><A HREF=Javascript:history.go(-1)>Retour</A>"); }
{$_SESSION[NOM]=$nom; }

Si le nom n'a pas été saisi, il y a retour à la saisie.

$_SESSION[XXXXX] contient alors la saisie effectuée pour chaque champ, laquelle pourra être, grâce à VALUE="XXXXX," ré affichée lors de la ressaisie du formulaire.

PROBLEME : tout ce qu'il y a derrière le premier espace trouvé est tronqué.
 
WRInaute passionné
Re: Utilsation des variables super_globales PHP

il ne faut pas faire echo $_SESSION[NOM] mais echo htmlspecialchars($_SESSION[NOM]);
 
WRInaute accro
Re: Utilsation des variables super_globales PHP

Bonjour PIERROT06 et bienvenue sur le forum ! :)

Michaël
 
WRInaute accro
Re: Utilsation des variables super_globales PHP

Qu'est-ce que ça donne si tu utilises $_SESSION['NOM'] ?
 
WRInaute discret
Re: Utilsation des variables super_globales PHP

Ton formulaire est bien en methode post ? Sinon il faut peut-être utiliser de l'urlencode et urldecode pour ne pas perdre un bout de la valeur de ta variable.
As-tu essayé d'afficher tes $_POST pour voir ce que contenait la variable postée ? Peut-être que le problème se trouve en amont.
 
WRInaute passionné
Re: Utilsation des variables super_globales PHP

tu as oublié les "" à l'attribut value :
Code:
echo '<input type="text" class="UpperCase" name="nom" size=40 maxlength="25" value="'.htmlspecialchars($_SESSION[NOM]).'">';
 
WRInaute accro
Re: Utilsation des variables super_globales PHP

et juste, parler de variables de serveur plutôt que super globales, ca fait un peu trop comics :)

pour ton problème, voir déjà noté html quel est le rendu
 
Nouveau WRInaute
Re: Utilsation des variables super_globales PHP

e-kiwi a dit:
et juste, parler de variables de serveur plutôt que super globales, ca fait un peu trop comics :)

pour ton problème, voir déjà noté html quel est le rendu


Comics ? pourquoi donc ? C'est le nom que j'ai trouvé sur beaucoup de site pour ce genre de variable.
 
Nouveau WRInaute
Re: Utilsation des variables super_globales PHP

forty a dit:
tu as oublié les "" à l'attribut value :
Code:
echo '<input type="text" class="UpperCase" name="nom" size=40 maxlength="25" value="'.htmlspecialchars($_SESSION[NOM]).'">';


Nickel !!!!!!!!!!!!!!!!! Merci du tuyau.
 
Nouveau WRInaute
Re: Utilsation des variables super_globales PHP

Matthieu_s a dit:
Ton formulaire est bien en methode post ? Sinon il faut peut-être utiliser de l'urlencode et urldecode pour ne pas perdre un bout de la valeur de ta variable.
As-tu essayé d'afficher tes $_POST pour voir ce que contenait la variable postée ? Peut-être que le problème se trouve en amont.


Problème réglé par un autre internaute.

Merci de l'aide.
 
WRInaute accro
Oui, j'ai suivi ! ;)

J'ai ajouté [résolu] dans le topic.

Amuse toi bien sur WRI, les compétences ici sont quasi infinies.
 
WRInaute accro
oh sur beaucoup de forums (même ici) on lis ici que des includes php s'appellent aussi "pseudo frame". :)
 
Discussions similaires
Haut