Vraag & Antwoord

Webprogrammeren & scripting

sessions

8 antwoorden
  • 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
  • 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
  • wauw das snel! dat gaat me zeker op weg helpen.... dankje!
  • graag gedaan :D
  • [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
  • Alle $_SESSION variablen kunnen inderdaad uitgewisseld worden tussen de scripts. Wat je bedoelt met die user_session tabel weet ik zo even niet... ;) Vic
  • tabel user_session of iets dergelijks... en in die tabel alles bijhouden dat moet toch kunnen?
  • 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

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.