Are you a regular stikked user? Signup so you can keep track of your pastes!
  1. <?php
  2. session_start(); // start een sessie of zet een sessie voort
  3.  
  4. // als de gebruiker is ingelogd
  5. if(isset($_SESSION['suser'])) {
  6.   // het volgende timeout deel is optioneel - dit mag worden weggelaten
  7.   // * timeout gedeelte *
  8.   $now = time();
  9.   // als er meer tijd is verstreken dan smaxidle
  10.   // sinds het aanmaken van de sessie
  11.   if($now - $_SESSION['stime'] > $_SESSION['smaxidle']) {
  12.     // breek de sessie af, de gebruiker dient opnieuw in te loggen
  13.     $_SESSION = array();
  14.   } else {
  15.     // ververs anders de sessietijd. Dit zorgt er voor
  16.     // dat de gebruiker ingelogd blijft zolang deze actief is.
  17.     $_SESSION['stime'] = $now;
  18.   }
  19.   // * einde timeout gedeelte *
  20. // v1.2 extra functionaliteit, onthouden login
  21. } elseif(isset($_COOKIE['login_cookie'])) {
  22.   // bekijk de waarden van de cookie en als deze kloppen met de database - start alsnog een sessie
  23.   // aanname - er is een verbinding met de database
  24.   list($idnummer, $wacht) = split(";", $_COOKIE['login_cookie']);
  25.   $res = mysql_query("SELECT idnummer, pass, level, last_ip FROM leden WHERE idnummer='".$idnummer."'") or die(mysql_error());
  26.   if(mysql_num_rows($res) > 0) {
  27.     $row = mysql_fetch_assoc($res);
  28.     if(!strcmp($wacht, $row['pass']) && $_SERVER['REMOTE_ADDR'] == $row['last_ip']) {
  29.       // init session
  30.       $_SESSION['suser']    = $gebruikersnaam;
  31.       $_SESSION['slevel']   = $row['level'];
  32.       $_SESSION['stime']    = time();
  33.       $_SESSION['smaxidle'] = 60 * 60;
  34.  
  35.       // update cookie
  36.       // gebruik hierbij wederom het id en het versleutelde wachtwoord
  37.       setcookie("login_cookie", $idnummer.";".$wacht, time()+3600*24*31*2, "/");
  38.     } else {
  39.       // password of ip komt niet overeen - unset het cookie en beeindig de sessie
  40.       setcookie("login_cookie", "", time(), "/");
  41.       $_SESSION = array();
  42.       session_destroy();
  43.     }
  44.     // geef resultaten vrij
  45.     unset($row);
  46.     mysql_free_result($res);
  47.   } else {
  48.     // gebruiker onbekend, cookie vervalst ?
  49.     $_SESSION = array();
  50.   }
  51.   // ververs de pagina
  52.   header("Location: ".$_SERVER['REQUEST_URL']);
  53. }
  54. ?>
  55.  
  56.  

Reply to "session"

Here you can reply to the paste above

Create a snipurl

Make Private

Feeling clever? Set some advanced options.