Hallo Zusammen,
ich habe ein "Browserabhängiges" Problem mit meinem Login-Script. Folgendes mir unerklärliches passiert:
- ich logge mich im Internet mit Firefox ein - Resultat: login geht, Session bleibt erhalten, kann alles machen
- ich logge mich im Internet mit dem IE 6 ein - Resultat: login geht, Session bleibt nicht erhalten, sobald ich eine weiterführende Seite öffnen will, werde ich ausgeloggt
- ich logge mich lokal auf meinem Rechner mit dem IE 6 ein - Resultat: login geht, Session bleibt erhalten, kann alles machen
????
ich bin den Code jetzt schon einige male durchgegangen und finde einfach keinen Fehler und keine Erklärung dafür, zumal es schon funktiniert hat...
deshalb Poste ich hier mal meinen Code:
-----------login.php-------------
PHP-Code:
<?php
error_reporting(E_ALL);
session_start();
require("../connect/connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3D//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>LogIn zum Verwaltungsbereich</title>
<link href="../style/style.css" rel="stylesheet" type="text/css">
</head>
<body class=sites>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center" class=sites>
<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"></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 Benutzername brauchen wir schon ;-)<br><br><a href="login.php">Zurück</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == ""){
echo '<form action="login.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 user, pass FROM admin_mitglieder WHERE user='".$_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="login.php">Zurück</a></p>');
if($password != $result['pass']){
echo '<form action="login.php" mehtod="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['user']=$user;
mysql_query("UPDATE admin_mitglieder SET lastlogin=NOW() where user='$user'");
if($user=="test")
{
echo "<a href=test.php>test</a>";
}elseif($user=="schaperm")
{
require("menu.php");
}
}
}
?>
</body>
</html>
-----------test.php-------------
PHP-Code:
<?php
error_reporting(E_ALL);
if($_SESSION['user'] == "") {
header("location:http://www.roemario.de/dev/new_fcw/logout.php");
die;
}
echo '<pre>' . print_r($_SESSION, true) . '</pre>';
echo "<html>";
echo "<title>Test</title>";
echo "<link rel='stylesheet' type='text/css' href='../style/style.css'>";
echo "<body>";
require("../connect/connect.inc.php");
$time = getdate();
$user=$_SESSION['user'];
echo $user;
echo "</body>";
echo "</html>";
?>
Ihr könnt euch das ganze Natürlich auch anschauen unter
http://www.roemario.de/dev/new_fcw/admin/login.php
Benutzername: test
Passwort: test
Ich hoffe mir hat jemand eine Erklärung für dieses Phänomen und vielleicht auch eine Lösung.
Gruß Mario