Ga naar inhoud

sessions


Aanbevolen berichten

Wie kan me op weg helpen met een simpel (niet cookie-gebaseerde) session-script... Ik heb me al suf gelezen op php.net en phpfreakz.nl Hier worden wel voorbeelden gegeven maar van "oude" scripts session_register mag niet meer terwijl dat nog wel in hun voorbeelden gebruikt wordt. phpfreakz vind ik dusdanig onoverzichtelijk dat ik er niet uitkom hoe dit aangepast moet worden... zou iemand mij een paar regels kunnen geven van 2 phpbestanden waarin dit mij duidelijk gemaakt kan worden? (of mij het systeem van phpbb een beetje uitleggen hoe het daar werkt?) De rest dokter ik hopelijk zelf wel uit.... ik heb als het ware ff een opstapje in de goede richting nodig groeten Sander
Link naar reactie
Het phpBB systeem session systeem is best wel complex. In de phpbb_sessions table staan unieke session_ids voor elke gebruiker, met daarin ook of deze gebruiker ingelogd is, welk userid hierbij gebruikt is, en, heel belangrijk, de verlooptijd. De verstreken sessies worden automatisch door het bestand includes/sessions.php autmatisch verwijderd. Kijk voor $_SESSION uitleg eens op [url]http://nl2.php.net/manual/en/function.session-start.php[/url], dit legt het gebruik van de $_SESSION variablen uit. Of zie de twee scriptjes hierbeneden. De eerste doet het 'inloggen', en de tweede kijkt of je bent ingelogd en als dit zo is, je username in een mooi persoonlijk berichtje zetten :) [code:1:3cf94d2cfc]// Start of ga verder met een bestaande sessie session_start(); // De gebruiker heet nu eventjes 'Vic', en hij is ingelogd laten we zeggen $_SESSION['logged_in'] = true; $_SESSION['username'] = 'Vic'; // Ziezo, we zijn klaar[/code:1:3cf94d2cfc] [code:1:3cf94d2cfc]// Start of ga verder met een bestaande sessie session_start(); if ( isset($_SESSION['logged_in]) ) { print "Hallo " . $_SESSION['username'] . ", u bent aangemeld"; } else { print "U bent niet aangemeld...."; } [/code:1:3cf94d2cfc] Ik hoop dat dit je op weg helpt :) Groetjes, Vic
Link naar reactie
[color=green:1d075feff7]if ( isset($_SESSION['logged_in]) ) { print "Hallo " . $_SESSION['username'] . ", u bent aangemeld"; } else { print "U bent niet aangemeld...."; [/color:1d075feff7] Als ik dit in de code van elke pagina zet dan neemt hij automatisch alle variablen mee naar evt. volgende pagina's ?? of alleen de variablen die ik registreer via $_SESSION?? dit kan ik dan ook in de database zetten toch? user_session of zo? Ik moet dus bij het instellen van een sessie weten welke dingen ik bij wil houden van die sessie... ik zal er nog wel even mee bezig zijn denk ik
Link naar reactie
Je kunt inderdaad een aparte tabel gebruiken om alle gegevens op te slaan; wel moet je zorgen dat je zorgt dat iedere sessie een uniek session ID krijg, met code zoals dit: [code:1:176249edf0]$_SESSION['session_id'] = md5(uniqid(time(), true));[/code:1:176249edf0] Je kunt dan het session_id uitwisselen tussen die scripts, en die scripts dan alle gegevens behorende tot die sessie uit de tabel laten halen. Vergeet wel niet om alle 'verlopen' sessies te verwijderen, en bij aanroep van een script moet de verloopdatum van zo'n sessie ook steed bijgewerkt worden. Als je niet verder komt hoor ik het wel ;) Vic
Link naar reactie
  • 2 maanden later...

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...