PHP-Einfach.de PHP lernen leicht gemacht

Navigation
» Startseite
» Newsübersicht
» Kontakt
» Impressum

Community
» Forum
» Gästebuch

Tutorial
» PHP Tutorial
» MySQL Tutorial
» PHP
   » Gästebuch
   » Logfiles
   » Sitemap
   » Login
   » Login Sessions
   » Login Sessions +
      Dateien

   » Links anklickbar
   » Counter
   » Dateiupload
   » Formular mailer
   » Cookies

» MySQL
» Codeschnipsel

Downloads
» Einführung
» Scripts
» Command Board

Sonstiges
» md5-Generator
» Generator
» Wissenswertes

PHP lernen


Dieses Projekt wird unterstützt von
Lichteffekte Shop

 
Partner:
Mathe Nachhilfe
Suchmaschinenoptimierung

Loginscript mit Sessions

Hier wird nur das Grundprinzip erklärt. Falls du einen richtigen Loginscript mit Session benötigst, solltest du diese Anleitung benutzen.

Jetzt ein kleines Beispiel für Sessions, damit wir das System der Sessions besser vestehen, und zwar ein Loginsystem. Diesen Grundscript verwendet man später in sehr vielen Scipts.

Wie schon bekannt, brauchen wir als erstes folgende Zeilen
<?php
session_start();
?>
Dieser Befehl muss ganz oben auf der Seite stehen.

Folgende Codesnipsel können alle auf einer Seite stehen, aber ihr könnt auch mehrere Seiten benutzen.

1. Schritt Als erstes überprüfen wir, ob der Besucher schon eingelogt ist, dies geht so:

<?php
$was = $_GET["was"];

if(!isset($was))
   {
   $was = "status";
   }

if(!isset($_SESSION['username']) and $was=="status")
   {
   echo "Bitte erst <a href=\"?was=login\">einloggen</a>";
   }

if(isset($_SESSION['username']) and $was=="status")
   {
   echo "Hallo ".$_SESSION['username']." <a href=\"?was=logout\">Logout</a>";
   }
?>


Geschützer Bereich
Falls man eine andere Seite schützen möchte, muss man folgenden Code ganz oben in die Seite einfügen:

<?php
session_start();
if(!isset($_SESSION['username']))
   {
   echo "Bitte erst <a href=\"?was=login\">einloggen</a>";
   exit;
   }
?>
Hier ist der geschütze Bereich

Falls der Besucher nicht eingelogt ist, wird der PHP Scipt mit exit; unterbrochen. Wenn er allerdings schon eingelogt ist, wird der geschütze Bereich angezeigt.

Damit alle Codesnipsel auf einer Seite stehen können, müssen wir eine Get-Abfrage machen.
Danach überprüfen wir, ob die Session username schon registiert wurde.

Danach brauchen wir ein Loginformular, ca. so:

<?php
if($was=="login")
{
echo "
<form action=\"?was=username\" Method=\"post\">
Passwort:<br>
<input type=\text\" name=\"username\" size=\"25\"><br>
<input type=\"submit\" value=\"Absenden\">

</form> ";
}
?>
Dies ist ein einfaches Formular, wo man einfach nur ein Benutzername eingeben muss.

Als nächstes überprüfen wir den Benutzername und registieren dann die Session username

<?php
$username = $_POST["username"];

if($was == "username")
   {
   $_SESSION['username'] = $username;
   echo "Login erfolgreich <a href=\"?was=status\">weiter</a>";
   }
?>

Zum Abschluss machen wir noch eine Logout Seite

<?php
if($was=="logout")
   {
   session_destroy();
   echo "Logout erfolgreich <a href=\"?was=status\">weiter</a>";
   }
?>

Hier nochmal die ganze Seite:

<?php
session_start();

$was = $_GET["was"];

if(!isset($was))
   {
   $was = "status";
   }

if(!isset($_SESSION['username']) and $was=="status")
   {
   echo "Bitte erst <a href=\"?was=login\">einloggen</a>";
   }

if(isset($_SESSION['username']) and $was=="status")
   {
   echo "Hallo ".$_SESSION['username']." <a href=\"?was=logout\">Logout</a>";
   }

if($was=="login")
   {
echo "
<form action=\"?was=username\" Method=\"post\">
Passwort:<br>
<input type=\text\" name=\"username\" size=\"25\"><br>
<input type=\"submit\" value=\"Absenden\">

</form> ";
   }

$username = $_POST["username"];

if($was == "username")
   {
   $_SESSION['username'] = $username;
   echo "Login erfolgreich <a href=\"?was=status\">weiter</a>";
   }

if($was=="logout")
   {
   session_destroy();
   echo "Logout erfolgreich <a href=\"?was=status\">weiter</a>";
   }
?>
Dies ist nur das Grundprinzip. Wie man das jetzt mit dem Loginscript per Textdateien verbindet, erfährst du hier: Login mit Sessions und Textdateien

Autor Andavos

News
13.08 - » Spam im Gästebuch
Endlich Schluss mit dem Spam

08.12 - » Clanletter 2.0
Clanletter wurde komplett neu programmiert

01.09 - » Command Board 1.0 - 2.0
Das Command Board 1.0 Beta 2.0 ist erschienen


Mehr

Forum
» Probleme mit XML

» Gästebuch funktioniert nicht!

» Logiscript von Php einfach - Fehl ...







© PHP-Einfach.de 2003 - 2013