Back / terug optie met PHP

Pagina: 1
Acties:
  • 155 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi, ik zit op dit moment wat te prutsen met PHP en ben nu op het punt aanbeland dat ik mijn gebruikers de optie wil geven om na het lezen van een stuk tekst, terug te laten gaan naar de pagina waar ze vandaan kwamen (dmv klikken op het woordtje terug>>).

Je kunt dit volgens mij op 2 manieren doen.

- zelf aangeven naar welke pagina de gebruiker terug gelinkt wordt
- of dmv de history uitlezen. Ik weet dat deze mogelijkheid bij Javascript aanwezig is
code:
1
<input type="button" value="Back" onclick="history.back()">
maar nu is mijn vraag, is deze optie er ook in PHP en zo ja, wat is de code hiervoor?

Acties:
  • 0 Henk 'm!

Verwijderd

PHP is een server-side taal en kan dus (gelukkig) niet in je browsergeheugen kijken.

Gewoon javascript voor gebruiken dus...

Acties:
  • 0 Henk 'm!

Verwijderd

Wat je wel kan doen is de pagina waar de gebruiker vandaan kwam opvragen middels $_SERVER['HTTP_REFERER']. Op die manier zou je je dus een dynamsiche terug-knop kunnen maken. Of je er wat mee opschiet is te betwijfelen want als je gebruik maakt van een firewall wil dat nog weleens afgeschermd worden. Beste is dus om een van jouw opties te gebruiken.

Acties:
  • 0 Henk 'm!

  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 21:32
Je hebt mazzel. De vorige pagina wordt opgeslagen in HTTP_Referrer! (kan net iets anders heten in PHP).

Meer dan 1 pagina terug kan niet met PHP (tenzij je de HTTP_Referrers zelf steeds opslaat), maar kan alleen met javascript.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dit zou de code dus moeten worden als het goed is:

code:
1
<A HREF="<!--#echo var="HTTP_REFERER"-->">terug</A>

Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Jammer alleen dat je er niet vanuit kan gaan dat deze referrer gevuld is. In sommige browsers of security suites wordt dit gedisabled :-|

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 20:45

RM-rf

1 2 3 4 5 7 6 8 9

alsjeblieft, sta toe dat technieken gebruikt worden waarvoor ze bedoeld zijn ...:
zo'n knopje 'terug' is een equivalent van een knop op je browser en dit behoort dus héél duidelijk tot het domein van de gebruiker, de clientside....

blijf daar dan alsjeblieft serverside vanaf en weest heel voorzichtig om clientiside functionaliteiten serverside te gaan simuleren, vooral omdat dat je nooit erg goed lukt en bovendien, daarmee wen je ook de gebruikers juist af om de standaard functionaliteiten van hun browser te gebruiken.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb juist geleerd op school (misschien botst op dit punt school met de realiteit) dat gebruikers zo min mogelijk de back button in de browser moeten gebruiken. Een betere optie is om zelf een terug functie in te bouwen.

Maar nu gaat deze topic een andere kant op dan eigenlijk de bedoeling was ;)

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op woensdag 09 maart 2005 @ 13:59:
Ik heb juist geleerd op school (misschien botst op dit punt school met de realiteit) dat gebruikers zo min mogelijk de back button in de browser moeten gebruiken. Een betere optie is om zelf een terug functie in te bouwen.
Onderbouwing heb je niet? Die knop zit er echt niet voor niks hoor. :) En welke functionaliteit denk je zelf te kunnen bieden die belangrijker is en/of meer doet dan de "Back"-knop van je browser? :)

De Javascript-methode doet hetzelfde als de back-knop, en is bovendien clientside, dus die is IMHO wel bruikbaar. :P

[ Voor 12% gewijzigd door NMe op 09-03-2005 14:03 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Gremen
  • Registratie: Juni 2001
  • Laatst online: 19-09 15:48
(jarig!)
Dit werkt alleen niet als de vorige pagina bijv een php pagina is met daarin bijv "header('Location: ...')" dus een redirect. Je back knop is dan niet echt nuttig :o
(zelfde voor een redirect met javascript)

[ Voor 19% gewijzigd door Gremen op 09-03-2005 14:12 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Gremen schreef op woensdag 09 maart 2005 @ 14:12:
Dit werkt alleen niet als de vorige pagina bijv een php pagina is met daarin bijv "header('Location: ...')" dus een redirect. Je back knop is dan niet echt nuttig :o
(zelfde voor een redirect met javascript)
HTML:
1
<a href="javascript:history.go(-2)">2 pagina's terug</a>

:?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

PhoeniX- schreef op woensdag 09 maart 2005 @ 13:49:
Jammer alleen dat je er niet vanuit kan gaan dat deze referrer gevuld is. In sommige browsers of security suites wordt dit gedisabled :-|
Precies, referrer is onberekenbaar...

Als het perse server-side moet en je controle hebt over de pagina waar de gebruiker vandaan kwam kun je natuurlijk altijd de eerdere url doorgeven met iets als link.html?origin=http:/host.nl/origin.html

Dat trucje pas ik wel eens toe. Voordeel is dat je die variabele kunt bewaren ook al doorloop je vervolgens nog wat andere pagina's.

[ Voor 38% gewijzigd door Verwijderd op 09-03-2005 14:22 ]

Pagina: 1