Automatische re-direct naar laatst bezochte pagina op site.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

Ik heb gegoogled, maar kan niks bruikbaars vinden.

Ik heb een site en daar wil ik iets maken waarbij bezoekers bij een nieuw bezoek automatisch naar de laatste pagina gaan waar ze de site de vorige keer hebben verlaten. Is zoiets eenvoudig te maken? Waar moet ik aan gaan denken? Kan het met JavaScript. Of moet ik dan met php werken?

  • XiniX88
  • Registratie: December 2006
  • Laatst online: 17-09 19:30
1. Waarop heb je gegoogled?
2. Wat heb je al geprobeerd
3. Zie ook je andere topic [HTML] Linken via formulier 2e reactie

Nee normaal wil ik nog wel iets van een hint geven, maar deze vraag is wel erg... erg!

(okey een kleine hint referer) succes!

[ Voor 73% gewijzigd door XiniX88 op 19-09-2009 14:22 ]


  • Duroth
  • Registratie: Juni 2007
  • Laatst online: 27-04-2016

Duroth

No rest for the tweaked

Ten eerste vraag ik me af waarom je zoiets eigenlijk zou willen. Het lijkt mij behoorlijk verwarrend voor de gebruiker om iedere keer een 'andere indexpagina' voor hun neus te krijgen.

Ten tweede kan je wel de pagina opslaan die een bezoeker voor het laatst heeft bezocht, maar het opslaan van de state (waaronder headers zoals POSTVARs en referrers) kost al heel wat moeite, en vereist wel wat grote aanpassingen aan je systeem.

In theorie kan het deels met javascript (je kan met JS een cookie zetten die de laatst bezochte URL bevat), maar als je ook headers mee wilt nemen, zal je voor een PHP*-gerichte oplossing moeten gaan.

(*) Of elke andere server-side scripting language

  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05 19:41
Een cookie bijhouden met de pagina waar de gebruiker is, deze langer dan de sessie zetten.

Komt men op de site en die cookie is aanwezig, redirecten nar die pagina.
Tegelijkertijd met die redirect actie een sessie cookie zetten , zodat je dan geen redirects meer doet (dat hoeft alleen als men opnieuw bezoekt).

--edit: en idd, zoals hierboven is het wel onduidelijk voor een bezoeker en je krijgt issues met pagina's waarnaar gepost is.

[ Voor 16% gewijzigd door marko77 op 19-09-2009 14:28 ]

Mijn rig


  • XiniX88
  • Registratie: December 2006
  • Laatst online: 17-09 19:30
Ga terug:
javascript:history.go(-1)

Ga terug naar de site waar je vandaan komt:
javascript:document.referer

Omdat er meer mensen op je vraag reageren maar de concrete antwoorden... Jammer dat mensen hier serieus op ingaan, alles valt zo makkelijk op te zoeken.

  • Duroth
  • Registratie: Juni 2007
  • Laatst online: 27-04-2016

Duroth

No rest for the tweaked

XiniX88 schreef op zaterdag 19 september 2009 @ 14:30:
Ga terug naar de site waar je vandaan komt:
javascript:document.referer
En op welke pagina zou de TS de code uit moeten laten voeren, als de bezoeker zijn site al verlaten heeft? Want daar is het, volgens mij, om te doen.

Misschien dat de TS zijn vraag wat kan verduidelijken. Zoals ik het begrijp:

Een bezoeker van tweakers heeft de pricewatch bekeken, en sluit zijn browser terwijl de pagina http://tweakers.net/pricewatch/ open staat.

De volgende keer dat deze bezoeker naar tweakers.net surft, wordt hij automatisch geredirect naar http://tweakers.net/pricewatch/. Dit was tenslotte de laatst bezochte, en dus opgeslagen, pagina.

Dus, tenzij ik en marko77 de vraag compleet verkeerd begrijpen, is de TS dus op zoek naar een manier om in principe een feature van de meeste tabbed browsers te imiteren, maar dan op lokale (beperkt tot 1 site) schaal.

In hoeverre de gebruikers zoiets waarderen, daar zet ik enorme vraagtekens bij.

@hieronder: Dat bedoelde ik ;) geforceerd een website openen bij het aanzwengelen van de browser zou ook iets te ver gaan.
Het punt is, ik verwacht niet dat een bezoeker bij het openen van een website graag doorgestuurd wordt naar de laatst bezochte pagina. Zeker niet ongevraagd. Een linkje op de indexpagina ('Klik hier om direct naar de laatst bezochte pagina te gaan') zou dan nog kunnen werken, maar de richting waarin de TS dan moet denken is al meerdere malen gegeven.

[ Voor 19% gewijzigd door Duroth op 19-09-2009 14:45 ]


  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

Is het niet zo dat hij wilt dat op het moment dat hij op de website zelf komt hij naar de laatst bezochte pagina op die site gaat. Dus niet bij het openen van de browser.
Dat lijkt mij wat aardiger voor de gebruiker en beter mogelijk, misschien een cookie opslaan bij elke pagina die je opent en die aanroepen op het moment dat je de website weer opent.

Last.fm | Code Talks


Verwijderd

Topicstarter
Wat Duroth zegt, bedoel ik inderdaad. Een simpele "javascript:history.go(-1)" kan ik ook nog wel vinden hoor als ik dat zou willen :'). En XiniX88, alsof ik een beetje een topic ga openen nadat ik niet eerst uitgebreid gezocht heb.

Anyway, hier ben ik een tijdje mee bezig geweest, maar dat werkt op de één of andere manier niet. Dat is wel wat ik precies wil hebben.
This script will redirect the user to the page where he left your site at the last visit. Redirect is only performed if the user enters the main page of your site from any other site. If the user enters your site by direct link from any search engine or another site, the redirect is not performed allowing the user to see the appropriate content.
Nu zoek ik dus naar iets anders, maar blijkbaar is het een hele stomme vraag.

  • XiniX88
  • Registratie: December 2006
  • Laatst online: 17-09 19:30
Dan begreep ik het inderdaad fout, dan had ik met PHP gewerkt en een database, aangezien er staat dat de bezoeker de site geheel verlaat, waardoor sessies verlopen.

Ik moet eerlijk toegeven dat ik reacties met daarin "Ik heb al gegoogled" (zonder te zeggen waarop) nooit doorlees. Daarbij komt dat dit dermate complex is dat hij alsnog dingen moet uitzoeken...

Maar om even mee te denken wat je kan doen:
Javascript
Laatste pagina opslaan in cookie waar je zat. JS
1. "document.location.href" zet je dus in het cookie
2. index.html een script zetten dat je redirect naar de pagina waar je was

PHP
0. Een cookie plaatsen die niet verloopt via PHP (php.net/cookie)
1. Bijhouden van de pagina waar je zit in de database (sessies verlopen) (in $_SERVER staan variabelen die ervoor nodig zijn)
2. als je op de index.php komt, redirecten naar een eerder opgeslagen record.

Om het javascript example dan maar even uit te leggen:

In je Overal.js bestand komt (deze niet op index zetten)

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

createCookie("location", document.location.href, 100);


en op de index.html

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

document.location.href = readCookie("location");


Maar toch wil ik je er op attenderen dat als je een goede startpost maakt, al zet wat je hebt geprobeerd en wat je wil bereiken (goede uitleg) je betere antwoorden krijgt...
Verwijderd schreef op zaterdag 19 september 2009 @ 14:43:
Wat Duroth zegt, bedoel ik inderdaad. Een simpele "javascript:history.go(-1)" kan ik ook nog wel vinden hoor als ik dat zou willen :'). En XiniX88, alsof ik een beetje een topic ga openen nadat ik niet eerst uitgebreid gezocht heb.
Goed ik heb toch maar even gezocht: http://www.google.nl/#hl=...+page&fp=9d248790540b80c9

En vind daar als 8e antwoord: (zie tabje source code)
http://javascript.interne...to-last-page-visited.html

[ Voor 51% gewijzigd door XiniX88 op 19-09-2009 15:35 ]


Verwijderd

Topicstarter
afvalzak schreef op zaterdag 19 september 2009 @ 14:42:
Is het niet zo dat hij wilt dat op het moment dat hij op de website zelf komt hij naar de laatst bezochte pagina op die site gaat. Dus niet bij het openen van de browser.
Dat lijkt mij wat aardiger voor de gebruiker en beter mogelijk, misschien een cookie opslaan bij elke pagina die je opent en die aanroepen op het moment dat je de website weer opent.
Dat ja.

  • Duroth
  • Registratie: Juni 2007
  • Laatst online: 27-04-2016

Duroth

No rest for the tweaked

Let wel op dat je naast de URL (Die je in PHP's $_SERVER array terug kunt vinden) ook de volledige $_REQUEST en misschien ook $_SESSION op wilt slaan. Deze arrays bevatten get, post, cookie en sessie vars die je ongetwijfeld mee wilt nemen. Dit alles knal je dan in een database (of desnoods in een cookie), en je zorgt ervoor dat er een cookie gezet wordt met een uniek ID dat naar de juiste rij in de tabel verwijst. Deze gegevens haal je dan op de main page weer op, en knal je je bezoeker door naar de juiste pagina.

Verwijderd

Topicstarter
Grappig dat je vindt dat ik niet uitgebreid zoek, maar dat je vervolgens precies dezelfde site geeft die ik in mijn post hier aangeef. En in die post zeg ik ook dat dat niet werkt.

Maar goed, bedankt voor je post. Ik ga er eens mee aan het werk :).
Pagina: 1