phpbar.de logo

Mailinglisten-Archive

[php] Wohl ein beliebtes Thema, das Login Problem

[php] Wohl ein beliebtes Thema, das Login Problem

Sebastian Mendel lists at sebastianmendel.de
Mon Jul 4 18:03:01 CEST 2005


Thomas Inglese wrote:

> ich habe ein Login Formular, das die Eingaben überprüft und wenn alles ok ist, eine Session Variable füllt mit zum Beispiel "login ok"
> 
> Nun muss ich ja auf jeder Seite ein Script einbauen, das mir prüft, ob die Session Variable eben "login ok" enthält und wenn nicht, soll auf eine andere Seite verwiesen werden.
> 
> Natürlich möchte ich diese Teil in jeder PHP Datei zuoberst includen, damit ich dies nicht immer schreiben muss.
> 
> Redirect wie bei ASP ist da glaub ich nur über Umwegen möglich, aber eine Meldung mit Link auf ein Login Formular kann ich machen.

wieso? header() ist dein Freund


> Muss ich jetzt wirklich auf jeder Seite ein if else einbauen, damit das in etwa so aussieht ? :
> 
> if
>   anmeldung nicht ok
> then
>   gib Link zum Anmeldeformular aus
> else
>   gib die normale seite aus
> 
> Das kann nicht sein oder ?
> 
> Ich möchte wirlich in jeder Datei ein Include zur prüfung einbauen, doch leider wird der Rest der Seite auch angezeigt, was eigentlich schlecht ist irgendwie...
> 
> Wie macht ihr das so ?

normaleseite.php:

<?php

// weil ja nciht unbedingt überall Login benötigt wird
$require_login = true;

require_once 'globals.inc.php';

...

?>


/include/globals.inc.php:

<?php

// wichtige Sachen vor dem Login
// z. B. session_start(), configuration, includes usw. ...

if ( isset( $require_login )
     && (  ! isset( $_SESSION['login'] )
          || true !== $_SESSION['login'] ) )
{
    header( 'Location: http://www.doamin.de/login.php' );
    // oder, was ich für besser halte
    $template_klasse->display( 'login.tpl' );
    exit();
}

// all das andere globale Zeugs
// ...
?>


-- 
Sebastian Mendel

www.sebastianmendel.de
www.sf.net/projects/phpdatetime | www.sf.net/projects/phptimesheet

php::bar PHP Wiki   -   Listenarchive