Bekijk Volledige Versie : Sessie's voor tellersysteem
Jorick de Lange
15/11/04, 10:35
Hallo allemaal,
Op mijn website (www.jorickdelange.nl) heb ik een "tellersysteem". Deze
werkt d.m.v. een text-bestandje en verhoogd de waarde elke keer als je op de
index terug komt met één. Om nou te zorgen dat de teller wat "beter" werkt,
zou ik hem willen gaan "beveiligen" met een sessie.
Nou mijn vragen:
1) Werkt een sessie altijd, overal, en met elke browser?
2) Moet die sessie dan alleen op de index, of ook op alle andere pagina's
(om de sessie te behouden)?
Alvast bedankt voor de antwoorden,
--
Met vriendelijke groet,
Jorick de Lange
mail@jorickdelange.nl
www.jorickdelange.nl
Stefan Koopmanschap (remove withoutspam to e-mail)
15/11/04, 10:45
Jorick de Lange wrote:
> 1) Werkt een sessie altijd, overal, en met elke browser?
Mijn ervaring is dat sessies niet altijd op elke server werken, of in
ieder geval niet hetzelfde. Qua clientside maakt het niets uit, omdat de
sessies aan de serverkant worden bijgehouden.
> 2) Moet die sessie dan alleen op de index, of ook op alle andere pagina's
> (om de sessie te behouden)?
Het is verstandig om ook op de andere pagina's de sessie bij te houden,
maar dit is afhankelijk van de sessie timeout.
Jorick de Lange
15/11/04, 10:55
> > 1) Werkt een sessie altijd, overal, en met elke browser?
>
> Mijn ervaring is dat sessies niet altijd op elke server werken, of in
> ieder geval niet hetzelfde. Qua clientside maakt het niets uit, omdat de
> sessies aan de serverkant worden bijgehouden.
Oh, dat is dan aan de mindere kant... :-(
Ik ga het in ieder geval proberen, kijken wat het resultaat is...
> > 2) Moet die sessie dan alleen op de index, of ook op alle andere
pagina's
> > (om de sessie te behouden)?
>
> Het is verstandig om ook op de andere pagina's de sessie bij te houden,
> maar dit is afhankelijk van de sessie timeout.
Als ik de sessie géén time-out mee geef, zal hij alleen worden beëindigt
door óf een knopje/url te maken die de sessie afbreekt, óf door het sluiten
van het venster (althans, in IE 6.0). Is dit juist? Want dan heb ik precies
wat ik in gedachten had...
--
Met vriendelijke groet,
Jorick de Lange
mail (at) jorickdelange (dot) nl
www.jorickdelange.nl
Stefan Koopmanschap (remove withoutspam to e-mail)
15/11/04, 11:35
Jorick de Lange wrote:
>>>1) Werkt een sessie altijd, overal, en met elke browser?
>>
>>Mijn ervaring is dat sessies niet altijd op elke server werken, of in
>>ieder geval niet hetzelfde. Qua clientside maakt het niets uit, omdat de
>>sessies aan de serverkant worden bijgehouden.
>
> Oh, dat is dan aan de mindere kant... :-(
> Ik ga het in ieder geval proberen, kijken wat het resultaat is...
Er zijn heel veel sessie-scripts te vinden op het Internet. Gewoon
simpele sessie handlers die vaak wel met een database werken geloof ik.
Is een goed alternatief voor php's sessie interface. als je het mij
vraagt tenminste.
>
>>>2) Moet die sessie dan alleen op de index, of ook op alle andere
>
> pagina's
>
>>>(om de sessie te behouden)?
>>
>>Het is verstandig om ook op de andere pagina's de sessie bij te houden,
>>maar dit is afhankelijk van de sessie timeout.
>
>
> Als ik de sessie géén time-out mee geef, zal hij alleen worden beëindigt
> door óf een knopje/url te maken die de sessie afbreekt, óf door het sluiten
> van het venster (althans, in IE 6.0). Is dit juist? Want dan heb ik precies
> wat ik in gedachten had...
Ja, voor zover ik weet is dat inderdaad precies hoe het werkt. Maar ik
werk niet vaak met php sessies, dus je zou de php sessie documentatie er
even op moeten naslaan.
Stefan
Branko Collin
15/11/04, 15:05
Stefan Koopmanschap (remove withoutspam to e-mail) wrote:
> Jorick de Lange wrote:
>> 1) Werkt een sessie altijd, overal, en met elke browser?
>
> Mijn ervaring is dat sessies niet altijd op elke server werken, of in
> ieder geval niet hetzelfde.
Gelukkig hoef je dat maar 1 keer op te lossen, namelijk op de server waar
je je site host.
> Qua clientside maakt het niets uit, omdat
> de sessies aan de serverkant worden bijgehouden.
Maar de server moet wel van de client informatie hebben over de gebruiker
van die sessie, via een cookie of via een unieke URL. Niet elke
browserconfiguratie ondersteunt cookies, en 'unieke' URL's zijn niet altijd
even mooi.
>> 2) Moet die sessie dan alleen op de index, of ook op alle andere
>> pagina's (om de sessie te behouden)?
>
> Het is verstandig om ook op de andere pagina's de sessie bij te
> houden, maar dit is afhankelijk van de sessie timeout.
Om de sessie te behouden hoef je niet op elke pagina de sessie bij te
houden. De sessie verloopt na een op de server ingestelde periode, of omdat
aan de serverkant daartoe de opdracht geeft.
Jorick de Lange
15/11/04, 18:25
> > Mijn ervaring is dat sessies niet altijd op elke server werken, of in
> > ieder geval niet hetzelfde.
>
> Gelukkig hoef je dat maar 1 keer op te lossen, namelijk op de server waar
> je je site host.
Mijn server ondersteunt sessie's; ik werk ook met een "Admin"-systeem
waarbij sessie's gebruikt worden...
> > Qua clientside maakt het niets uit, omdat
> > de sessies aan de serverkant worden bijgehouden.
>
> Maar de server moet wel van de client informatie hebben over de gebruiker
> van die sessie, via een cookie of via een unieke URL. Niet elke
> browserconfiguratie ondersteunt cookies, en 'unieke' URL's zijn niet
altijd
> even mooi.
Eeuhm... Dit is wat ik nu heb, voor mijn inlogsysteem:
<?php
if (!isset($_SESSION["username"])){
echo 'Je bent niet ingelogd. <a href="../login.php">Inloggen</a>';
}else{
?>
Rest van de pagina
<?php
} // De boel weer netjes afsluiten, anders doet 'ie 't niet...
?>
Maar die kan ik dus aanpassen, i.p.v. die echo() daar de code neerzetten om
een nieuwe sessie te maken.
> >> 2) Moet die sessie dan alleen op de index, of ook op alle andere
> >> pagina's (om de sessie te behouden)?
> >
> > Het is verstandig om ook op de andere pagina's de sessie bij te
> > houden, maar dit is afhankelijk van de sessie timeout.
>
> Om de sessie te behouden hoef je niet op elke pagina de sessie bij te
> houden. De sessie verloopt na een op de server ingestelde periode, of
omdat
> aan de serverkant daartoe de opdracht geeft.
OK... Duidelijk... ;-)
--
Met vriendelijke groet,
Jorick de Lange
mail (at) jorickdelange (dot) nl
www.jorickdelange.nl
Branko Collin
16/11/04, 17:05
Jorick de Lange wrote:
>> Maar de server moet wel van de client informatie hebben over de
>> gebruiker van die sessie, via een cookie of via een unieke URL. Niet
>> elke browserconfiguratie ondersteunt cookies, en 'unieke' URL's zijn
>> niet altijd even mooi.
>
> Eeuhm... Dit is wat ik nu heb, voor mijn inlogsysteem:
>
> <?php
> if (!isset($_SESSION["username"])){
> echo 'Je bent niet ingelogd. <a href="../login.php">Inloggen</a>';
> }else{
>
> Rest van de pagina
>
> <?php
> } // De boel weer netjes afsluiten, anders doet 'ie 't niet...
>>
>
> Maar die kan ik dus aanpassen, i.p.v. die echo() daar de code
> neerzetten om een nieuwe sessie te maken.
Inderdaad.