Session setzen, aber wie?

Divo1984

Erfahrenes Mitglied
Hallo,

ich habe heute folgendes Login-Script geschrieben:

PHP:
<?php 
	session_name('mitglied_session');
	session_start();
	
	if (isset($_GET['logout']) && $_GET['logout'] == 'true'){
		$_SESSION = array();
		session_destroy();
	}
	//hier die Session ausgeben lassen
	echo 'Session-ID: ' . session_id();
	echo '<pre>';
	print_r($_SESSION);
	echo '</pre>';	
//error_reporting( E_ALL );
//DB Server
//	$server = 'localhost';
//	$benutzer = 'web508';
//	$passwort = 'Benita08';
//	$datenbank = 'usr_web508_2';
    
//DB Local
	$server = 'localhost';
	$benutzer = 'root';
	$passwort = 'Benita08';
	$datenbank = 'musicworld4all';
	
	$verbindung = mysqli_connect($server, $benutzer, $passwort);
	
	if ($verbindung){
		mysqli_select_db($verbindung, $datenbank);		
		if(mysqli_error($verbindung)){			
			echo 'Fehler: ' . mysqli_error($verbindung);
		}else{
		if(isset($_POST['login'])){
				
		//Fehlerarry
		$fehlertext = array();
	
		//Abfragen ob Felder ausgefüllt sind
		if($_POST['uname'] == ""){
			$fehlertext[] = "<p class=\"fehler\"><b>Bitte geben Sie Ihren Usernamen ein.</b></p>";
		}
		$user = trim( $_POST['uname'] ); 
        $password = trim( $_POST['pw'] ); 
        $user = mysqli_real_escape_string($verbindung, $user); 
        $sql = "SELECT uname FROM user WHERE uname = '".($_POST["uname"])."'";
        $abfrage = mysqli_query($verbindung, $sql); 

        if (mysqli_num_rows($abfrage) <= 0)  
        { 
        	$fehlertext[] = "<p class=\"fehler\"><b>Username nicht in der Datenbank!</b></p>";
        }
		if($_POST['pw'] == ""){
			$fehlertext[] = "<p class=\"fehler\"><b>Bitte geben Sie Ihr Passwort ein.</b></p>";
		}	
		//Abfrage an die DB User <--> PW stimmt?        
		$user = trim( $_POST['uname'] ); 
        $password = trim( $_POST['pw'] ); 
        $user = mysqli_real_escape_string($verbindung, $user); 
        $sql = "SELECT pw FROM user WHERE uname = '".($_POST["uname"])."' && pw = '".($_POST["pw"])."'";
        $abfrage = mysqli_query($verbindung, $sql); 

        if (mysqli_num_rows($abfrage) <= 0)  
        { 
        	$fehlertext[] = "<p class=\"fehler\"><b>Passwort und Username passen nicht zusammen!</b></p>";
        }     
	            //Ausgabe des Fehlerarrays	
			    if(count($fehlertext)){
                echo "Leider sind einige Fehler aufgetreten. Bitte beachten Sie diese Angaben:<br>\n";        
                foreach($fehlertext as $error)
                echo $error."\n";}
	}}}	
	include 'login_formular.php';	
?>

Wie mache ich das jetzt mit der Session? Kann mir da wer helfen?
 
Nachdem du die Session gestartet hast (session_start(), hast du ja), kannst du den Inhalt der Session in dem Array $_SESSION verwalten. Möchtest du jetzt beispielsweise den Usernamen in die Session schreiben:

PHP:
$_SESSION["username"] = $user;
 
Danke, aber wie bekomme ich das hin das meine Session übergeben wird und z.B. ich nach erfolgreichem Login auf eine andere Seite weitergeleitet werde?<-- den Memberbereich z. B.?!
 
Hallo,

du kannst deine Session im Prinzip als globale Variable benutzen. Du schreibst einfach nach dem Login einen Wert in die Variable und leitest danach auf deine gewünschte Seite weiter:

PHP:
if ($_SESSION["login"] == "erfolgreich")
{
        header("Location:memberbereich.php");
}

Aber du kannst doch auch einfach über ein Formular auf eine andere Seite weiterleiten, warum so umständlich!!

Gruß infdb
 
Zurück