PHP petite question

Résolu/Fermé
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 - 4 sept. 2011 à 03:21
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 - 5 sept. 2011 à 01:21
Bonjour,

J'ai créé un formulaire pour une page d'inscription et j'ai un petit problème.

voici un des champ de mon formulaire :

<label for="pseudo" class="float">Pseudo :</label> 
<input type="text" name="pseudo" id="pseudo" size="30" value="<?php if($_SESSION['pseudo_info'] == '') echo htmlspecialchars($_SESSION['form_pseudo'], ENT_QUOTES) ; ?>" /> 


la partie en noir foncé est supposer retourner ce que l'utilisateur avais inscrit dans la case avant la validation si il y a des erreur durant la validation pour éviter que l'utilisateur doivent toute retaper les info du formulaire.

Comme ceci ça fonctionne.


Mais voila le problème

Lorsque j'arrive sur la page inscription ou est mon formulaire les variable session non pas me donne une erreur undifine index. J'ai donc mit comme toujours un isset() devant pour corriger la situation comme ceci.

<?php if (isset($_SESSION['pseudo_info']) == '') echo htmlspecialchars(isset($_SESSION['form_pseudo']), ENT_QUOTES) ; ?>


Je n'est maintenant plus de problème avec la page mais maintenant au lieu de routourner le mot incrot dans la case ca me retourne le chifre 1 et je ne comprend pas dutout pourquoi j'ai fais quelque recherche mais je n'est pas trouver.


Je sais aussi que la fonction isset() m'a déjà créé des problème de ce genre ou mon code php ne faisait plus ce qu'il devais faire quand je met un isset.

pouvez vous me dire pourquoi dans cette situation ce ne fonctionne pas et comment régler le problème

et aussi m'expliquer pourquoi isset créé des problème dans mes code.

Merci





A voir également:

6 réponses

nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
4 sept. 2011 à 04:22
ERRATUM :

Lorsque j'arrive sur la page inscription ou est mon formulaire les variable session non pas me donne une erreur undifine index.

aurais du être

Lorsque j'arrive sur la page inscription ou est mon formulaire les variable session me donne une erreur undifine index.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
4 sept. 2011 à 08:10
Bonjour

Essai ca :


<?php if (isset($_SESSION['pseudo_info']) echo htmlspecialchars(isset($_SESSION['form_pseudo']), ENT_QUOTES) ; ?>

car tu test si isset )== "" ceci est impossible isset = true ou false
0
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
4 sept. 2011 à 08:21
Non c'est pas bon ça de plus il manque un parenthèse sur ta première ligne.

Bref sa retourne toujours 1 mais merci d'avoir tenter de m'aider
0
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
4 sept. 2011 à 08:24
J'ai trouver une solution avec une structure conditionnel je me met une variable &test dans mon script de validation que j'active à 1 et quand dans mon script de formulaire la valeur est a un je laisse le value"php.."
et quand ma variable est a '' c'est l'autre formulaire qui s'affiche mais sans l'argument value"" dans mon form comme ca je n'est plus d'erreur mais je laisse le pots ouvert jusqu'à demain comme ça si quelqu'un à la solution.
0

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

Posez votre question
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
4 sept. 2011 à 08:57
Re

Et comme ca :

Dans ton echo tu retest la variable form_pseudo ya pas besoin en faites :

Avt :

<?php if (isset($_SESSION['pseudo_info'])) echo htmlspecialchars(isset($_SESSION['form_pseudo']), ENT_QUOTES) ; ?>

Apres :

<?php if (isset($_SESSION['pseudo_info'])) echo htmlspecialchars($_SESSION['form_pseudo'], ENT_QUOTES) ; ?>
0
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
4 sept. 2011 à 20:21
Et bien non parce cette ligne est sur la page de formulaire donc si je ne test pas les deux variable j'ai un undifine index: ....

Donc cette solution ne marche pas il faudrait que je passe sur la page de traitement avant de passer sur la page du formulaire ce qui n'est pas logique si je voudrais faire ça.
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
4 sept. 2011 à 20:53
dsl j'avais pas vu la <> des 2 variables ;)
0
nicelife90 Messages postés 615 Date d'inscription vendredi 24 septembre 2010 Statut Membre Dernière intervention 10 avril 2018 151
5 sept. 2011 à 01:21
pas de problème!
0