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:
PHP Forum
Mathe Nachhilfe
Suchmaschinenoptimierung

Loginscript mit Sessions und Dateien

Dies ist eine Anleitung, für eine Kombination aus dem Loginscript und dem Login mit Sessions.

Die Registierungsrotine ist die gleiche wie hier.
Das Formular (eintragen.html):
<form action="eintragen.php" method="post">
Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="passwort"><br>

Passwort wiederholen:<br>
<input type="password" size="24" maxlength="50"
name="passwort2"><br>

<input type="submit" value="Abschicken">
</form>
Die Speicherung des neuen Benutzernamen in user.txt (eintragen.php):
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
<?php
$username
= $_POST["username"];
$password = $_POST["passwort"];
$password2 = $_POST["passwort2"];



if (
$password == $password2)
   {
   
$user_vorhanden = array();
   
$passwort = md5($password);


   
$userdatei = fopen ("user.txt","r");
   while (!
feof($userdatei))
      {
      
$zeile = fgets($userdatei,500);
      
$userdata = explode("|", $zeile);
      
array_push ($user_vorhanden,$userdata[0]);
      }
   
fclose($userdatei);



   if (
in_array($username,$user_vorhanden))
      {
      echo
"Username schon vorhanden <br> <a href=\"eintragen.html\">zurück</a>";
      }

   else
      {
      
$userdatei = fopen ("user.txt","a");
      
fwrite($userdatei, $username);
      
fwrite($userdatei, "|");
      
fwrite($userdatei, $passwort);
      
fwrite($userdatei, "\n");
      
fclose($userdatei);
      echo
"$username, deine Anmeldung war erfolgreich<br><a href=\"login.html\">zum Login</a>";
      }
   }

else
  {
  echo
"Die Passwörter sind nicht identisch<br> <a href=\"eintragen.html\">zurück</a> ";
  }

?>


Das Formular zum Login (login.html) sieht auch wieder gleich aus:
<form action="login.php" method="post">
Dein Username:<br>
<input type="text" size="24" maxlength="50"
name="username"><br><br>

Dein Passwort:<br>
<input type="password" size="24" maxlength="50"
name="password"><br>

<input type="submit" value="Login">
</form>

Jetzt kommen aber ein paar Änderungen bei login.php:

1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
<?php
session_start
();
$username = $_POST["username"];
$passwort = $_POST["password"];
$passwort = md5($passwort);
$log=0;

$userdatei = fopen ("user.txt","r");
while (!
feof($userdatei))
   {
   
$zeile = fgets($userdatei,500);
   
$userdata = explode("|", $zeile);

   if (
$userdata[0]==$username and $passwort==trim($userdata[1]))
      {
      
$_SESSION['username'] = $username;
        echo
"Login war erfolgreich. <a href=\"geheim.php\">Geschützer Bereich</a>";
      
$log = 1;
      }
   }
fclose($userdatei);

if (
$log==0)
   {
   echo
"Zugriff verweigert <a href=\"login.html\">Zurück</a>";
   }
?>


Anstatt nur Hallo $username registieren wir hier die Session username. Außerdem bekommt geben wir noch einen Link zum geschützen Bereich (geheim.php) aus.

Und so sieht der geschütze Bereich (geheim.php) aus:
<?php
session_start();
if(!isset($_SESSION['username']))
   {
   echo "Bitte erst <a href=\"login.html\">einloggen</a>";
   exit;
   }
?>

<html>
Herzlich Willkommen im geschützen Bereich
</html>

Alle geschütze Dateien müssen so aussehen, wie die ersten paar Zeilen von geheim.php.

Falls ihr noch nicht die Version 4.1.0 benutzt, und somit der Script nicht funktioniert müsst ihr anstatt $_POST => $HTTP_POST_VARS schreiben und anstatt $_SESSION => $HTTP_SESSION_VARS

Download:
Server 1
Server 2

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
» Entwickler Forum

» insert nach login

» Tabellenzelle zu groß







© PHP-Einfach.de 2003 - 2012