PHP session_start() fonction: Pourquoi j'ai besoin à chaque fois que j'utilise tout ce qui est lié à des sessions PHP
Pour la connexion d'un utilisateur à partir de mon site, je suis rediriger la page de logout.php
où je suis avec session_destroy() fonction. Là aussi, la fonctionnalité de déconnexion ne fonctionne pas sans session_start()
fonction. En ajoutant de la fonction session_start() avant session_destroy()
fonction, je suis en mesure de vous déconnecter l'utilisateur avec succès.
Pourquoi ai-je besoin pour utiliser session_start()
fonction à chaque fois et dans chaque page où je suis en train de faire quelque chose en rapport avec les sessions?
OriginalL'auteur Sumit Gupta | 2011-04-25
Vous devez vous connecter pour publier un commentaire.
session_destroy() détruit la session active. Si vous n'avez pas initialisé la session, il n'y aura rien à détruire.
Absolument. Si jamais vous êtes dealing avec des sessions à la demande, vous êtes tenu à appeler session_start() de PHP donner les informations de session.
OU vous pourriez utiliser de la session.auto_start = 1 (c'est pas des meilleures pratiques, mais il est possible =)
OriginalL'auteur John Cartwright
Donc PHP ne sait qui de la session de détruire.
session_start()
regarde si un cookie de session ou l'ID est présent. Seulement avec cette information peut vous détruire.Probablement, vous êtes seulement à la création d'une seule session. Une fois que vous appelez votre premier session_start(), sauf si vous spécifiez un autre id de session pour le session_start() appelle, il est en défaut à l'origine de l'id de session (stockées dans le cookie ou url).
Ce que @Jean dit. Je pense que le démarrage d'une session plus d'une fois même renvoie une erreur et ça ne ferait pas de sens, en premier lieu
vous ne pouvez exécuter qu'une seule session à la fois, de corriger. Cependant, vous pouvez commencer à vous, à maintenir et à sauvegarder plusieurs sessions sur un site unique pour un utilisateur en forçant un ID de session avant de
session_start
. Des exemples de ce qui pourrait être site/forum sessions vs panier sessions.Si vous vouliez obtenir ridicule, vous pourriez même jongler avec (en théorie) 😛
OriginalL'auteur Pekka 웃
Dans la configuration par défaut, les Sessions PHP fonctionner en dehors du disque dur. PHP vous demande d'indiquer explicitement lorsque vous avez besoin de ce soutien pour éviter les e /s de disque.
session_start()
également dit à PHP pour savoir si la session de l'utilisateur existe.OriginalL'auteur Jesse Bunch
comme par http://php.net/manual/en/function.session-start.php
Essentiellement en appelant
session_start()
, PHP lit l'en-tête et de la croix-des références que l'ID de session pour ce qui est sur votre système(système de fichiers/base de données/etc), qui peuvent ensuite remplir le$_SESSION
qui est relavent à cet utilisateur spécifique. Ce qui vous permet d'appelersession_destroy()
parce qu'il sait ce qu'session à même de détruire.OriginalL'auteur Mike Lewis
considérer la fonction session_start() en tant que votre façon de raconter le moteur php.... que vous voulez travailler avec les sessions.
et, comme je le comprends, toujours faire qu'à la première ligne jamais dans la page php.
OriginalL'auteur webzy
J'ai été confondu avec l'utilisation de la fonction session_start(); et à chaque fois j'ai été en utilisant une variable de session, j'ai été appeler session_start. Justement, j'ai eu session_start(); plus d'une fois sur chaque page (sans même l'appel de session_destroy()). Par exemple,
C'était la création d'un problème de performance pour moi. J'ai donc fini par appeler
session_start();
juste une fois tout en haut de la page et tout semble fonctionner correctement.OriginalL'auteur KalC