Heute ist nicht mein Tag, stehe mit den Sessions und PHP heute irgendwie auf Kriegsfuss. Ich habe einen Login realisiert. Die SID wird in einem Cookie gespeichert. Das ganze funktioniert im Firefox und Opera wunderbar, nur im IE wird der Cookie nicht gesetzt und ich kann mich nicht einloggen. Vielleicht hat ja mal jemand Zeit, über mein Skript zu fliegen???
[php:1:fab3b59bc9]<?php
if ($_POST['action']=="check_login") {
check_login();
}
if ($_GET['action']=="logout") {
logout();
}
function show_loginbox () {
echo "<table border=0 cellpadding=3 cellspacing=1 width=800>";
echo "<tr><td colspan=2 style=font-size:14px;font-weight:bold;>Login</td></tr>";
echo "<tr><td width=300>";
if ($_SESSION['login'] == 1) {
include("config.php");
include("includes/db.php");
$result=$db->sql_query("SELECT * FROM user WHERE id LIKE '".$_SESSION['uid']."';");
while ($row=$db->sql_fetchrow($result)) {
$username = $row[username];
}
echo "Hallo $username [ <a href=login.php?action=logout>Logout</a> ]";
} else {
echo "<form action=login.php method=POST>Benutzername: <input type=text name=username></input></td>";
echo "<td>Kennwort: <input type=password name=password></input><input type=submit value=Login></input>";
echo "<input type=hidden name=action value=check_login></input></form>";
}
echo "</td></tr>";
echo "</table>";
}
function check_login () {
session_start();
include("config.php");
include("includes/db.php");
$user_password = md5($_POST['password']);
$result=$db->sql_query("SELECT * FROM user WHERE username LIKE '".$_POST['username']."';");
while ($row=$db->sql_fetchrow($result)) {
$db_password = $row[password];
$uid = $row[id];
$db_access = $row[access];
}
if ($user_password == $db_password) {
$cookie_value = $uid;
if ($db_access == 2) {$_SESSION['admin'] = 1;}
$_SESSION['uid'] = $uid;
$_SESSION['login'] = 1;
header("Location:index.php");
} else {
echo "Passwort falsch";
}
}
function logout () {
session_start();
session_destroy();
header("Location:index.php");
}
?>[/php:1:fab3b59bc9]