Hallo,
ich habe hier das Tutorial über Sessions gelesen und auch gleich mal ein Log-In Script geschrieben. Bloß irgendwie will der die Session nicht registrieren. Ich weiß auch nicht was los ist. Ich poste einfach mal die beiden wichtigen Quellcodes:
Das ist die Seite zum Einloggen:
Das ist die Seite die nach dem einloggen erscheinen soll
Das Problem ist nur das der Header mich immer wieder zurückschickt weil die Session angeblich nicht existiert.
ich habe hier das Tutorial über Sessions gelesen und auch gleich mal ein Log-In Script geschrieben. Bloß irgendwie will der die Session nicht registrieren. Ich weiß auch nicht was los ist. Ich poste einfach mal die beiden wichtigen Quellcodes:
Das ist die Seite zum Einloggen:
PHP-Code:
<?php
session_start();
require("connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LogIn zum Adminbereich</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<a href="neu.php">NEu</a>
<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<b>Bitte erst anmelden</b>
</td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Benutzername</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input"<?php if($_POST['username'] != "" ) {echo ' value="'.$_POST['username'].'"';} ?>></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<input type="submit" name="submit" value="Anmelden" class="button">
</td>
</tr>
</table>
</form>
<?php
}elseif(!$_POST['username'] || $_POST['username'] == "") {
echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="index.php">Zurück</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
echo '<form action="index.php" method="post">';
echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück">';
echo '</p>';
echo '</form>';
}else{
$password = md5($password);
$query = @mysql_query("SELECT name, pass FROM users WHERE name = '".$_POST['username']."'") or die('Select ist fehlgeschlagen!');
$result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index.php">Zurück</a></p>');
if($password != $result['pass']){
echo '<form action="index.php" method="post">';
echo '<p align="center">Sorry, aber dieses Passwort ist falsch!<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurück"></p>';
echo '</form>';
die;
}else{
$user = $result['user'];
session_register('user');
echo '<p align="center">LogIn erfolgreich! :-)<br><br><a href="sichere_seite.php">Weiter</a></p>';
}
}
?>
</body>
</html>
Das ist die Seite die nach dem einloggen erscheinen soll
PHP-Code:
<?php
session_start();
if(!session_is_registered('user') || $_SESSION['user'] == "") {
header("location:index.php");
die;
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Sichere Seite</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center">
<?php echo "<b>Hallo ".$_SESSION['user']."</b>"; ?>
<br><br>
<b>Hier ist der sichere Inhalt!</b>
<br><br>
<a href="neu.php">Neuen Benutzer anlegen</a>
<br><br>
<a href="logout.php">LogOut</a>
</td>
</tr>
</table>
</body>
</html>
Kommentar