Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

sessions

Anoniem
Lord Wodan
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 http://nl2.php.net/manual/en/function.session-start.php, 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
  • 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

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