Loginsystem - immer wieder formular.php

Jaja, es wird zum tausensten mal angeschnitten - Das Loginproblem.

Nur leider hab ich wirklich nirgend etwas über das Problem gefunden, dass ich
habe.
Ich bin nach dem hier beschriebenen Tutorial vorgegangen und habe statt Vor- und
Nachname nur ein Feld für die Emailadresse in der Datenbank angelegt.

Eigentlich funktioniert auch alles. Wenn ich auf die intern.php-Seite zugreifen will, kommt das Formular. Die User sind in der Datenbank eingetragen und alle Dateien sind vorhanden und es wir keine Fehlermeldung gezeigt, wenn ich manuell auf die einzellnen Seiten zugreife.

Nur leider kommt jedes mal, wenn ich die Daten im Formular eingeb nicht die intern.php, sonder wieder das Formular, jedoch ohne Fehlermeldung....ich kann mir das einfach nich erklären...ich hoffe ihr könnt das. :)

Meine checkuser.php - login.php - intern.php - formular.php

PHP:
<?php 
session_start ();
  header ("Location: formular.php");  
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>checkuser.php</title>
</head>

<body>
<?php 
if (!isset ($_SESSION["user_id"])) 
?>
</body>
</html>

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

PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="emx_nav_right.css" type="text/css">
<title>login.php</title>
</head>
<html>
<body> 
<?php 
if (isset ($_REQUEST["fehler"])) 
{ 
  echo "Die Zugangsdaten waren ungültig."; 
} 
?> 
<div id="pageNav">
<div class="story">

<form action="login.php" method="post"> 
    Benutzername:</p>
    <input type="text" name="name"  maxlength="15"/><br />
    Passwort:</p>
    <input type="password" name="pwd" maxlength="25"/><br />
  <input type="submit" value="Anmelden"> 
</form> 
</div>
</div>
</body> 
</html>

PHP:
<?php 
session_start (); 
{
header ("Location: intern.php"); 
} 
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>login</title>
</head>
<body>
<?php 
// Datenbankverbindung aufbauen 
$connectionid = mysql_connect ("xxx", "yyy", "zzz"); 
if (!mysql_select_db ("xxx", $connectionid)) 
{ 
  die ("Keine Verbindung zur Datenbank"); 
} 

$sql = "SELECT ". 
    "Id, Nickname, Email ". 
  "FROM ". 
    "benutzerdaten ". 
  "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_email"] = $data["Email"]; 
} 
else 
{ 
  header ("Location: formular.php?fehler=1"); 
}
?> 
</body>
</html>
 
Zuletzt bearbeitet:
PHP:
<?php
session_start ();
  header ("Location: formular.php");  
?>
Das bedeutet, das du zum Formular weitergeleitet wirst. Und das immer, wenn die Datei aufgerufen wird. Alles was da drunter steht ist irrelevant und wird nicht mehr ausgeführt.
 
Wow, danke für die schnelle Antwort - jetzt gehts!

Ich krieg schon ein verdammt schlechtes Gewissen, weil ich immer nur frage und erst ein paar mal Antworten konnte.... :suspekt:
 
Zurück