Also entweder ich bin total bescheuert; aber wenn man dass Script komplett übernimmt und auf formular.php geht funktioniert das ja gar nicht mit der Weiterleitung zu intern.php
Ich habe deswegen das so abgeändert:
Formular(LOGIN SEITE)
LOGIN_CHECK
Intern
check_user
Logout
Mir wird die ganze Zeit angezeigt, dass ich ich die falschen Zugangsdaten angegeben hab. Hab mehrmals neue User erstellt also dadran kann es nicht liegen.
Ich habe deswegen das so abgeändert:
Formular(LOGIN SEITE)
PHP:
<?php session_start (); ?>
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
?>
<?php
if( empty ($_POST['Email']) or empty ($_POST['Passwort']))
{
if( $_POST["Kontrolle"] == 1)
{
echo "Die Zugangsdaten waren ungültig.";
}
echo '
<form method="post" action="">
<table>
<tr>
<td>E-Mail Adresse:</td>
<td><input type="text" name="Email" value="'.$_POST['Email'].'" /></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="Passwort" value="'.$_POST['Passwort'].'" />
<input type="hidden" name="Kontrolle" id="Kontrolle" value="1"/></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="submit" value="Registrieren" />
</td>
</tr>
</table>
</form>
';
}
else
{
if ($_POST['submit'])
{
header ("Location: login_check.php");
}
}
?>
LOGIN_CHECK
PHP:
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
include 'config.php';
$sql = "SELECT ".
"Id, Vorname, Nachname, Email ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Email like '".$_REQUEST["Email"]."') AND ".
"(Passwort = '".md5 ($_REQUEST["Passwort"])."')";
$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["Email"];
$_SESSION["user_nachname"] = $data["Nachname"];
$_SESSION["user_vorname"] = $data["Vorname"];
header ("Location: intern.php");
}
else
{
header ("Location: login.php?fehler=1");
}
?>
Intern
PHP:
<?php
include ("check_user.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>
check_user
PHP:
<?php
session_start ();
if (!isset ($_SESSION["user_id"]))
{
header ("Location: login.php?fehler=1");
}
?>
Logout
PHP:
<?php
// Wird ausgeführt um mit der Ausgabe des Headers zu warten.
ob_start ();
session_start ();
session_unset ();
session_destroy ();
header ("Location: login.php");
ob_end_flush ();
?>
Mir wird die ganze Zeit angezeigt, dass ich ich die falschen Zugangsdaten angegeben hab. Hab mehrmals neue User erstellt also dadran kann es nicht liegen.
Zuletzt bearbeitet: