Question : Sessions de PHP

J'ai lu au-dessus des sessions de PHP pendant des heures et la logique n'a pas du sens pour moi.  Elle m'incite juste à vouloir employer la solution tried-and-true de biscuit mais les sessions semblent un peu plus bloquées ainsi je ne veux pas abandonner yet.

After qu'un utilisateur ouvre une session à mon site Web, je veux simplement enregistrer une session de PHP qui persistera pendant pas plus de 2 heures, ou 30 minutes d'inactivité sur le site Web, celui qui vient first.

Seems assez simple.  Mais je deviens confus avec des sessions parce qu'il y a des variables multiples qui pourraient être set.

par exemple, ce qui est la différence entre les session_get_cookie_params () et le session.cookie_lifetime ?  Et que diriez-vous de session.gc_maxlifetime qui, je comprennent, maintient la vie d'une session avant qu'il trashed automatiquement ? Quel si je place le biscuit pour expirer en 2 heures mais session.gc_maxlifetime est égal à 1440 (24 minutes) ?  Ma session est-elle allant même vivre assez longtemps ? le

I ont également lu qu'il est le meilleur de garder juste les arrangements de session de PHP de défaut (c.-à-d. session.gc_maxlifetime=1440) et placer juste mes propres la valeur de session de « horodateur » que je peux employer pour comparer quand l'utilisateur est entré le site Web ou le bout a cliqué dessus something.

Ugh, peux quelqu'un aide se démêler ce mystère avec des sessions et des biscuits ? le

And svp ne me renvoient pas au guide de session sur le site Web de PHP parce que j'ai été all over lui already.

Thank vous !

class= de

Réponse : Sessions de PHP

Voici une réponse « maladroite ».  Regarder au-dessus de mon article ici.
http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/A_2391-PHP-login-logout-and-easy-access-control.html

En pratique, votre session va vivre assez longtemps pour tout que votre client pourrait vouloir faire, à moins que ce que le client veut faire soit d'ouvrir une session à l'emplacement, puis abandonne l'ordinateur et va à l'opéra, puis revient et compte toujours être ouverte une session.  Cela ne fonctionnera pas.

Chaque nouvelle charge de page au même site Web (avec quelques limitations importantes) remet à zéro effectivement le temps d'expiration de biscuit en le prolongeant dans le futur.  La prolongation de défaut est environ 24 minutes.

Les biscuits et les navigateurs ont des interactions uniques.  Considérer ceci : Tout l'exemple de part de Firefox (fenêtres, étiquettes, clôtures) la même fiole de biscuit.  Vous pouvez avoir deux fenêtres de navigateur ouvertes une session au même site Web.  Très embrouillant aux réalisateurs, mais rare dans la pratique.  La fenêtre #1 place un biscuit, la fenêtre #2 le remet à zéro et prolonge son temps.  Le comportement est prévisible, mais les lotisseurs impatients pensent rarement par ce qui arrive aux biscuits.  Firefox te donne une bonne manière de visualiser les biscuits - l'employer.

Maintenant aux issues vous identifiez.  Vous voulez arrêter une session après deux heures (d'activité ?) ou 30 minutes d'inactivité.  Cela ne fonctionne pas comme celui.  À moins que vous alliez à l'ennui pour comprendre des sessions en détail et peut-être pour écrire vos propres traiteurs de session, vos sessions expireront après 24 minutes d'inactivité.  La pièce environ deux heures ne s'applique pas - chaque nouvelle utilisation d'une page Web qui contient le session_start () jettera le temps mort encore 24 minutes dans le futur.  La collection d'ordures est imprécise, mais l'expiration de biscuit est assez sûre.

Quant à ceci, « ne pas me renvoyer au guide de session sur le site Web de PHP » -- désolée, mais lui est la référence de page définitive d'homme.  Vous devez la comprendre, et si vous ne satisfaites pas de signaler en arrière ici avec des questions spécifiques.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us