Bonjour,
Suite aux erreurs récurrentes que j'obtiens quand j'applique une condition sur une variable de session, je viens vers vous pour savoir de quel code plus propre je pourrais me servir...
J'ai créé une zone sécurisée d'inscription*, qui renvoie à une page tierce quand l'inscription est invalide.
* TESTS :
mot de passe différent entre la 1re version demandée et sa confirmation,
mot de passe "blanc"
ou pseudo similaire à ce qui existe déjà dans la DB.
=> Ces tests figurent en 3 "if/else" imbriqués.
Dans la page tierce vers laquelle renvoie (header) mon script en cas de pépin, j'ai émis des conditions sur mes variables de session si elles sont égales à 1.
C'est là-dessus que je rencontre un problème :
j'ai un undefined index pour les variables de sessions qui ne sont pas concernées par le problème...
Mon code se présent en effet comme suit :
J'ai bien tenté à initialiser les 3 $_SESSION à -1, au tout début de ma page, mais alors, les valeurs données aux superglobales sont redéfinies à -1 et non à la valeur transmise depuis la page précédente...
Bref... Mon code n'est pas correct, comment puis-je, s'il vous plait, l'optimiser?
Merci !
Modifié par Reka (05 Mar 2014 - 18:07)
Suite aux erreurs récurrentes que j'obtiens quand j'applique une condition sur une variable de session, je viens vers vous pour savoir de quel code plus propre je pourrais me servir...
J'ai créé une zone sécurisée d'inscription*, qui renvoie à une page tierce quand l'inscription est invalide.
* TESTS :
mot de passe différent entre la 1re version demandée et sa confirmation,
mot de passe "blanc"
ou pseudo similaire à ce qui existe déjà dans la DB.
=> Ces tests figurent en 3 "if/else" imbriqués.
Dans la page tierce vers laquelle renvoie (header) mon script en cas de pépin, j'ai émis des conditions sur mes variables de session si elles sont égales à 1.
C'est là-dessus que je rencontre un problème :
j'ai un undefined index pour les variables de sessions qui ne sont pas concernées par le problème...
Mon code se présent en effet comme suit :
<p><?php if ($_SESSION['pw_vide'] == 1) { ?>Votre mot de passe ne peut être vide ni comprendre des espaces blancs. <br>Veuillez tenter de vous réinscrire.<?php } else { echo ''; } ?></p>
<p><?php if ($_SESSION['pw_different'] == 1) { ?>Il semblerait que le mot de passe utilisé et celui que vous avez utilisé pour sa confirmation ne coïncident pas. <br>Veuillez tenter de vous réinscrire.<?php } else { echo ''; } ?></p>
<p><?php if ($_SESSION['pseudo_egal'] == 1) { ?>Nous sommes désolés mais ce pseudo est déjà choisi par un autre membre. <br>Veuillez tenter de vous réinscrire.<?php } else { echo ''; } ?></p>
<?php
header("Refresh: 5; index.php?p=inscription");
session_destroy();
J'ai bien tenté à initialiser les 3 $_SESSION à -1, au tout début de ma page, mais alors, les valeurs données aux superglobales sont redéfinies à -1 et non à la valeur transmise depuis la page précédente...
Bref... Mon code n'est pas correct, comment puis-je, s'il vous plait, l'optimiser?
Merci !
Modifié par Reka (05 Mar 2014 - 18:07)