PHP petite question [Résolu/Fermé]

Signaler
Messages postés
622
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
-
Messages postés
622
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
-
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





6 réponses

Messages postés
622
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
140
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.
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
58
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
Messages postés
622
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
140
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
Messages postés
622
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
140
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.
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
58
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) ; ?>
Messages postés
622
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
140
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.
Messages postés
1144
Date d'inscription
samedi 15 novembre 2008
Statut
Membre
Dernière intervention
18 août 2014
58
dsl j'avais pas vu la <> des 2 variables ;)
Messages postés
622
Date d'inscription
vendredi 24 septembre 2010
Statut
Membre
Dernière intervention
10 avril 2018
140
pas de problème!