2009-04-16 8 views
1

Je rencontre des problèmes avec un ID de session non défini.

La variable de session est appelée sur une page à laquelle un formulaire est envoyé via une requête ajax/jquery.

La variable de session est appelée sur toutes les autres pages sans problème. La variable est définie lorsqu'un utilisateur se connecte et est vérifiée par un fichier auth.php. Le fichier auth.php trouve la variable de session très bien, cependant, le fichier insert.php génère une erreur: "Undefined index: var ....".

Y a-t-il une raison pour qu'une variable de session soit perdue?

EDIT: J'appelle session_start dans mon dossier de auth.php. Je reçois un message d'erreur si j'essaie de démarrer une autre session.

Est-il possible que la variable de session ne soit pas trouvée parce que le fichier est posté à via une requête ajax?

EDIT/REPONSE: J'ai trouvé ce qui n'allait pas. J'utilisais un uploader flash, et les sessions sont perdues lors d'un upload avec flash. Oh quelle nuit.

Merci pour votre aide!

+0

Si vous avez découvert ce qui est faux, vous devriez accepter votre propre question comme réponse =) –

Répondre

1

J'ai découvert ce qui n'allait pas. J'utilisais un uploader flash, et les sessions sont perdues lors d'un upload avec flash.

+1

La plupart des chargeurs flash vous permettent d'ajouter des paramètres supplémentaires qui sont envoyés avec le téléchargement. Vous pouvez l'utiliser pour ajouter l'ID de session au POST de téléchargement flash ... – apinstein

+0

pouvez-vous définir votre propre réponse à la réponse préférée? : P –

1

La session 'insert.php' a-t-elle démarré? C'est peut-être la raison. Essayez de le démarrer si le paramètre PHP n'est pas défini sur démarrage automatique. Je trouve également imprimer le $ _SESSION parfois pratique.

print_r($_SESSION); 

D'après mon expérience, il y a une autre possibilité, qui est l'autre fichier est appelé à partir d'un hôte différent/serveur/numéro IP, ce qui cause les variables de session ne se trouvent pas. Bien que ce soit une possibilité assez éloignée.

Dans votre cas, essayez de vérifier au cas où.

+0

Quand j'appelle print_r ($ _ SESSION) ;, je reçois seulement "Array()" retourné. – superUntitled

0

Si vous redirigez pas include.php vous avez utiliser session_start();, parce que la session n'existe pas dans cette page, pour autant que je sache que les sessions PHP ne fonctionnent que sur une seule page sans configuration supplémentaire.

Questions connexes