Login Tutorial

Floxx

Mitglied
Habe meinen alten Thread nichtmehr wiedergefunden, aber danke an die jenigen die versucht haben mir zu helfen.:)

Habe nun ein Loginsystem nach diesem Tutorial erstellt: klick mich, aber nicht zu fest
Das Problem ist, dass er mich immer auf die startseite zurück wirft wenn ich mich einlogge.

index.php
PHP:
<?php session_start (); ?>
<?php  
if (isset ($_REQUEST["fehler"]))  
{  
  echo "Die Zugangsdaten waren ungültig.";  
}  
?>  
<form action="login.php" method="post">  
  Name: <input type="text" name="name" size="20"><br>  
  Kennwort: <input type="password" name="pwd" size="20"><br>  
  <input type="submit" value="Login">  
</form>


login.php
PHP:
<?php  
session_start (); 

$connectionid = mysql_connect ("xxxxxxx", "xxxxxxx", "xxxxxxx");  
if (!mysql_select_db ("usr?db?44615", $connectionid))  
{  
  die ("Keine Verbindung zur Datenbank");  
}  

$sql = "SELECT id, nickname, nachname, vorname FROM user WHERE (nickname like '".$_REQUEST["name"]."') AND (kennwort = '".md5 ($_REQUEST["pwd"])."')";  
$result = mysql_query ($sql);  

if (mysql_num_rows ($result) > 0)  
{  
  // Benutzerdaten in ein Array auslesen.  
  $data = mysql_fetch_array ($result);  

  // Sessionvariablen erstellen und registrieren  
  $_SESSION["user_id"] = $data["Id"];  
  $_SESSION["user_nickname"] = $data["Nickname"];  
  $_SESSION["user_nachname"] = $data["Nachname"];  
  $_SESSION["user_vorname"] = $data["Vorname"];  

  header ("Location: intern.php");  
}  
else  
{  
  header ("Location: index.php?fehler=1");  
}  
?>


checkuser.php
PHP:
<?php  
session_start ();  
if (!isset ($_SESSION["user_id"]))  
{  
  header ("Location: index.php");  
}  
?>


intern.php
PHP:
<?php  
include ("checkuser.php");  
?>  
<html>  
<head>  
  <title>Interne Seite</title>  
</head>  
<body>  
  BenutzerId: <?php echo $_SESSION["user_id"]; ?><br>  
  Nickname: <?php echo $_SESSION["user_nickname"]; ?><br>  
  Nachname: <?php echo $_SESSION["user_nachname"]; ?><br>  
  Vorname: <?php echo $_SESSION["user_vorname"]; ?>  
  <hr>  
  <a href="logout.php">Ausloggen</a>  
</body>  
</html>


logout.php
PHP:
<?php  
// Wird ausgeführt um mit der Ausgabe des Headers zu warten.  
ob_start ();  

session_start ();  
session_unset ();  
session_destroy ();  

header ("Location: index.php");  
ob_end_flush ();  
?>
 
Stimmen dann vielleicht einfach die Eingaben von Benutzername und Kennwort nicht? Oder vielleicht schlägt auch die Datenbankabfrage fehl oder liefert keinen Datensatz.
 
also einloggen kann ich mich ohne problem, die logindaten sind richtig
allerdings komm ich nicht auf die interne seite

kann es vielleicht sein das irgendwas mit checkuser.php nicht stimmt?
 
ich hab ja keine fehlermeldung bekommen
aber wenn ich falsche logindaten nehme, bekomm ich die fehlermeldung das die daten falsch sind
 
Ich habe mal eine kleine Zwischen Frage, die hier einigermaßen reinpasst.

Wenn ich mit Sessions arbeite und weitere Seiten damit verbunden sind, werden dann Variablen wie zum Beispiel "id" an die anderen Seiten mitgeliefert?


MfG
 
Hallo!

@matze1983, wenn die Variable in der Session gespeichert ist und die Session korrekt an die Folgeseite übermittelt wird, dann kannst Du dort mit der in der Session gespeicherten Variable auch weiter arbeiten.

@Floxx, eigentlich sollte die Seite in deutsch sein..... aber leider ist das PHP Manual nicht lückenlos übersetzt.
Was Gumbo Dir sagen wollte, füge am Anfang des Scripts folgende Zeilen ein:
PHP:
ini_set("display_errors", "on");
error_reporting(E_ALL);
Gruss Dr Dau
 
Zurück