Facts don't care about your feelings
Een andere manier is door het op te slaan in een sessie of cookie, het voordeel daarvan is dat je ook kan bijhouden of de pagina ooit is bezocht, en dus niet alleen direct daarvoor.
Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.
Niet de eerste
[ Voor 30% gewijzigd door Reveller op 19-02-2007 20:51 ]
"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| <? /* Pagina1.php */ session_start(); $_SESSION['pagina1'] = true; echo 'Welkom op pagina1'; ?> <? /* Pagina 2 */ session_start(); if (!isSet($_SESSION['pagina1']) || !$_SESSION['pagina1']) { # Gebruiker heeft pagina1 niet bezocht header('Location: pagina1.php'); } else { # Gebruiker heeft pagina1 WEL bezocht! echo 'Hello world!'; } ?> |
[ Voor 16% gewijzigd door Helmet op 19-02-2007 20:52 ]
Icons are overrated
helmet, hoe werkt jouw methode dan precies? hoe lang wordt die zogenaamde session dan opgeslagen?
[ Voor 71% gewijzigd door YoshiBignose op 19-02-2007 20:55 ]
Facts don't care about your feelings
Een sessie kan eigenlijk gezien worden als een soort server-sided cookie, waarin een bulk informatie opgeslagen kan worden, het enige wat naar de client verstuurd wordt is een cookie (of als deze niet aanstaan/herkent worden een GET-waarde) met daarin een sessieId. Wat dit scriptje doet is een veldje "pagina1" opslaan in de sessie voor de betreffende gebruiker op pagina 2 wordt dan gekeken of dat veldje bestaat binnen de sessie (let wel op dat deze gestart moet worden met session_start(); en dat deze functie voor enige uitvoer gebruikt moet zijn)YoshiBignose schreef op maandag 19 februari 2007 @ 20:53:
helmet, hoe werkt jouw methode dan precies? hoe lang wordt die zogenaamde session dan opgeslagen?
Is het veldje er niet => ga naar pagina #1
Anders => Geef pagina #2 weer
Icons are overrated
en waar moet ik die code precies plaatsen helmet?
Facts don't care about your feelings
Zo heb ik zelf ook restricties op cookies gezet, omdat ik advertentiebedrijven geen inzicht wil geven in mijn surfgedrag (hebben ze niets mee te maken).
Verwijderd
Referers worden soms niet doorgegeven (zie boven), of door de persoon die een site bezoekt zelf aangepast (wat mogenlijk is, omdat de browser dit doorgeeft).YoshiBignose schreef op maandag 19 februari 2007 @ 21:06:
wat is de meest veilige manier? ik hoorde dat HTTP REFERER onbetrouwbaar was?
en waar moet ik die code precies plaatsen helmet?
Dus een sessie is inderdaad veiliger
De php code van een sessie moeten altijd helemaal bovenaan de pagina, omdat je session_start(); altijd voor html-output moet plaatsen.
(het vullen van de sessie variabelen hoeven natuurlijk niet altijd bovenaan, maar in dit geval moet er eerst gecontroleerd worden of mensen toegang hebben, dus dan is bovenaan de pagina logisch
[ Voor 27% gewijzigd door Verwijderd op 19-02-2007 21:25 ]
Facts don't care about your feelings
Verwijderd