Utilisation de session_start

Résolu/Fermé
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 5 août 2009 à 22:10
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 8 août 2009 à 00:49
Bonjour,

Utilisation exacte de session_start() :

- avant tout caractère, tout espace compris : "<?php";

- ensuite tout ce que vous pourriez vouloir faire, SAUF :
envoyer une info au client ("header", "set_cookie", etc, "echo", ou même refermer la balise "?>") est strictement interdit avant "session_start()"
(sauf dans une déclaration de classe, du moment que le script ne vient pas à l'éxécution, hors "?>" ne préférant pas essayer)

- "session_start();" et récupération des variables, incrémentations, etc, de la session
(n'oublions pas que c'est un cookie ou une variable GET : "PHPSESSID" qui contient l'identification d'une session sur le serveur, pour le cookie il doit être acceptépar le client, la variable GET car elle fait partie de l'url et contraint le référencement par les robots des moteurs de recherche)

- on peut donc même récupérer, à condition d'en avoir bien déclarer toutes les classes nécessaires, un p'tit objet "$_SESSION['objet']" sans avoir à le reconstruire ou le re-sortir d'une base de donnée (attention les ressources je pense, et au cookie accepté évidemment), et ainsi éxécuter directement une méthode voulu, etc., tout ce qu'il faut pour une application Web2.0 avec éventuellement l'utilisation de l'objet "XMLHttpRequest" (franchement "Ajax" c'est moche)

Le plus important est : RIEN NE DOIT ETRE ENVOYE AU CLIENT AVANT "session_start();"

En espérant répondre à toutes les questions qu'on pourrait se poser sur "session_start()" (non je ne détaillerai pas les autres fonctions "session_qlqchose", je n'utilise pratiquement pas^^),

Salut.

1 réponse

Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
8 août 2009 à 00:49
Résolu, évidemment c'est pour une compréhension précise de la chose.
0