PHP gevorderde | 
                         | 
                        Over het cookie zie je helemaal goed, volgens mij. De sessie kan je alleen 'terug' halen door middel van cookies. Hier een stuk code wat ik zelf gebruik: 
    
    
        
            
                <?php
// Controleren of de sessie al bezig is of niet en kijk of eer een
// login cookie geplaatst is op de client PC. 
if (!isset($_SESSION['login']) && isset($_COOKIE['cookie'])) {
	// Cookie gevonden, sessie niet actief. Stop de
	// inhoud van cookie in $info array
	$info = explode('%', $_COOKIE['cookie']);
	
	// kijken of de info uit cookie
	// een bestaande gebruiker is
	$u_info = mysql_query("
		SELECT  uid, gid, last_ip, level
		FROM users
		WHERE uid = ".$info[0]." AND passwd = '".$info[1]."'
	");
	
	// Was de gebruiker met het cookie
	// gevonden in de database? Als het
	// aantal meer dan 0 is zal het wel toch?
	if (mysql_num_rows($u_info) > 0) {
	
		// Controleren of last_ip en het huidige
		// IP adres overeen komen, is dit niet zo
		// bestaat de kan dat het een vervalst of 
		// gestoolen cookie is, laat dan de sessie
		// nietmeer opnieuw startten.		
		if (mysql_result($u_info, 0, "last_ip") === get_ip()) {
			
			// gegevens in Cookie waren van een
			// bestaande gebruiker, laat de sessie
			// opnieuw beginnen.
			$_SESSION['login']		= true;
			$_SESSION['uid']		= mysql_result($u_info, 0, "uid");
		
			// Het gebruikers niveau, hier kan later naar gekeken worden, wat de gebruiker wel
			// of niet mag, voor de toekenning wor nog gekeken of de gebruiker lid is 
			// van een bepaalde groep, als dit zo is kijk of de groeps-rechten hoger zijn
			// dan zijn eigen rechten. Als zijn eigen rechten lager zijn vervallen deze, de
			// gebruiker heeft namelijk via de groep al alle mogelijkheden. Is de gebruiker
			// niet lid van een groep of de gebruiker heeft nog extra rechten dan vervallen 
			// de groepsrechten, omdat gebruiker alles al mag doen vanuit de eigen rechten.
			$_SESSION['level']		= ($u_info['gid'] > $u_info['level']) ? $u_info['gid'] : $u_info['level'];
			
			// Reset het login cookie, zodat deze weer langer geldig is
			setcookie('cookie', $info[0] . '%' . $info[1] . '%' . $info[2], time() + $info[2]);
		}
	}
}
?>
             
            <?php // Controleren of de sessie al bezig is of niet en kijk of eer een // login cookie geplaatst is op de client PC.  if (!isset($_SESSION['login']) && isset($_COOKIE['cookie'])) {   	// Cookie gevonden, sessie niet actief. Stop de 	// inhoud van cookie in $info array 	$info = explode('%', $_COOKIE['cookie']);   	// kijken of de info uit cookie 	// een bestaande gebruiker is 		SELECT  uid, gid, last_ip, level 		FROM users 		WHERE uid = ".$info[0]." AND passwd = '".$info[1]."' 	");   	// Was de gebruiker met het cookie 	// gevonden in de database? Als het 	// aantal meer dan 0 is zal het wel toch?   		// Controleren of last_ip en het huidige 		// IP adres overeen komen, is dit niet zo 		// bestaat de kan dat het een vervalst of  		// gestoolen cookie is, laat dan de sessie 		// nietmeer opnieuw startten.		   			// gegevens in Cookie waren van een 			// bestaande gebruiker, laat de sessie 			// opnieuw beginnen. 			$_SESSION['login']		= true;   			// Het gebruikers niveau, hier kan later naar gekeken worden, wat de gebruiker wel 			// of niet mag, voor de toekenning wor nog gekeken of de gebruiker lid is  			// van een bepaalde groep, als dit zo is kijk of de groeps-rechten hoger zijn 			// dan zijn eigen rechten. Als zijn eigen rechten lager zijn vervallen deze, de 			// gebruiker heeft namelijk via de groep al alle mogelijkheden. Is de gebruiker 			// niet lid van een groep of de gebruiker heeft nog extra rechten dan vervallen  			// de groepsrechten, omdat gebruiker alles al mag doen vanuit de eigen rechten. 			$_SESSION['level']		= ($u_info['gid'] > $u_info['level']) ? $u_info['gid'] : $u_info['level'];   			// Reset het login cookie, zodat deze weer langer geldig is 			setcookie('cookie', $info[0] . '%' . $info[1] . '%' . $info[2], time() + $info[2]); 		} 	} } ?> 
 
  
         
          
     
  
 
--edit: de bedoeling was dat het HIER cookie heet. |