[résolu] Utilsation des variables super_globales PHP

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

[résolu] Utilsation des variables super_globales PHP

Message le Lun Mar 01, 2010 23:48

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.

mx
WRInaute impliqué
WRInaute impliqué
 
Messages: 688
Inscription: 16 Juin 2003

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 0:51

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.

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 7:20

mx a écrit: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é.


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1702
Inscription: 30 Oct 2008

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 7:25

il ne faut pas faire echo $_SESSION[NOM] mais echo htmlspecialchars($_SESSION[NOM]);


OTP
Modérateur
Modérateur
 
Messages: 19532
Inscription: 16 Déc 2005

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 7:50

Bonjour PIERROT06 et bienvenue sur le forum ! :)

Michaël

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 8:04

forty a écrit:il ne faut pas faire echo $_SESSION[NOM] mais echo htmlspecialchars($_SESSION[NOM]);



Merci mais ça ne fonctionne pas mieux.


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:01

Qu'est-ce que ça donne si tu utilises $_SESSION['NOM'] ?

Matthieu_s
WRInaute discret
WRInaute discret
 
Messages: 87
Inscription: 3 Aoû 2006

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:15

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.


forty
WRInaute passionné
WRInaute passionné
 
Messages: 1702
Inscription: 30 Oct 2008

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:35

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


e-kiwi
Modérateur
Modérateur
 
Messages: 15618
Inscription: 23 Déc 2003

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:36

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

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:51

HawkEye a écrit:Qu'est-ce que ça donne si tu utilises $_SESSION['NOM'] ?


C'est le codage d'origine qui posait problème.

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:53

e-kiwi a écrit: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.

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:55

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



Nickel !!!!!!!!!!!!!!!!! Merci du tuyau.

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:57

Matthieu_s a écrit: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.

PIERROT06
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 27
Inscription: 1 Mar 2010

Re: Utilsation des variables super_globales PHP

Message le Mar Mar 02, 2010 10:57

OTP a écrit:Bonjour PIERROT06 et bienvenue sur le forum ! :)

Michaël



Salut oh toi fiston.

J'ai eu ma réponse.

[résolu] Utilsation des variables super_globales PHP

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités