Bonjour,
J'utilise une classe formulaire, qui se charge aussi de créer les variables de session après validation du formulaire de connexion pour les membres.
Curieusement, les variables de session créées dans la classe n'existent pas dans la "page réservée aux membres".
Par contre, si je crée les variables de session dans le script, ces variables sont bien lus par la classe d'identification.

Quelqu'un peut-il m'éclairer sur le sujet, ou s'agit-il d'une erreur de ma part (ce qui est fort probable)?

Cordialement.

Thiery.

2 réponses


thierrysudfr
Auteur
Réponse acceptée

Il s'agit bien d'une erreur de ma part (3 jours la dessus, lol), que je n'ai pas encore vraiment comprise, mais l'origine du problème vient d'un rafraichissement ajax... Sans ajax, plus d'erreur...Affaire à suivre, et merci de m'avoir lu.
Thierry.

thierrysudfr
Auteur
Réponse acceptée

J'ai enfin compris, et vu le nombre de questions sur google à ce sujet, ce qui suit peut servir :
Pour faire fonctionner une session, le script doit commencer par session_start.
Mon index.php commence donc par session_start.
Puis je fais un include de mon form_connect.php (qui appelle ensuite la class form.class.php).
Mais si je rafraichis mon form.commect.php par ajax (après contrôle par la classe type mauvais identifiants), le fichier est appelé sans session_start, d'ou mon problème de session.
Et si je fais commencer mon form.connect.php par session_start, lors du premier appel de index.php, session_start est appelé 2 fois, d'ou erreur.
Ma solution à ce jour (ça vaut ce que ça vaut, mais ça fonctionne), c'est de remplacer le include"form.connect.php" par une requête ajax, avec session_start dans form.connect.php.

lol, ok, mon explication n'est pas très claire, mais si elle peut servir....

Et si quelqu'un a une meilleure solution, je suis preneur.

Thierry.