Ich habe ein login gebaut, aber leider läuft es nicht so wie ich will.
login.php:
config.php:
Es wird zwar die news.php aufgerufen, aber z.B. der Wert "valid" ist nicht "1".
Kann es sein, dass die SID nicht übergeben wird? Oder wo liegt der Fehler?
login.php:
PHP-Code:
<?php
// Load config file.
require('conf.php');
// Aktionen je nach übergebenem Parameter durchführen
switch ($cmd) {
case "login":
$sql= "SELECT * FROM tbl_users where benutzer='$username'";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
// Benutzername und Passwort checken
if ($row['benutzer']==$username AND $row['passwort']==md5($password2)):
// Session-Variablen des User setzen
$_SESSION['valid'] = true;
$_SESSION['user'] = $username.",".$row['u_id'];
// Rechte des Users aus Datenbank auslesen
$sqleingabe="select db_id, gr_id from tbl_rechte where u_id='".$row["u_id"]."'";
$result1=mysql_query($sqleingabe);
// Rechte auf die verschiedenen Datenbanken
// in Session Variablen ablegen
while ($PermissionRow = mysql_fetch_array($result1)) {
$_SESSION["DB_$PermissionRow[0]"] = "1,".$PermissionRow[1];
if ($PermissionRow[1]==5):
$_SESSION["is_su"] = 1;
endif;
if ($PermissionRow[1]==3):
$_SESSION["is_su"] = 3;
endif;
if ($PermissionRow[1]==4):
$_SESSION["is_su"] = 4;
endif;
}
// Zur Datenbankseite weiterleiten
$url="$first_page";
session_register("url");
header("location: $url");
// header("Location: $first_page?".SID);
// header("Location: $first_page?PHPSESSID=".session_id());
exit;
else:
header("location: $login_page?cmd=invalid");
exit;
endif;
break;
case "unauth":
session_destroy();
print_header();
echo "<center></center>";
print_login();
print_footer();
break;
case "invalid":
print_header();
echo "<center><font class=\"z11fg\">$invalid_username_password</font></center><hr>";
print_login($username);
print_footer();
break;
case "logout":
session_destroy();
// system("rm -rf ../../tmp");
print_header();
echo "<center><font class=\"z11fg\">$logged_out</font></center><hr>";
print_login();
print_footer();
break;
default:
print_header();
print_login($username);
print_footer();
break;
}
....
config.php:
PHP-Code:
<?php
// 20 Minuten Lebenszeit
ini_set("session.gc_maxlifetime", 1200);
// 50% Wahrscheinlichkeit
ini_set("session.gc_probability", 50);
// Set Access to Session Variables
@session_start();
// Set Database Connect
//mysql_connect("localhost", "", "");
//mysql_select_db("xxx_de_db");
mysql_connect("localhost", "loginname", "passwort");
mysql_select_db("datenbank");
// Set the URL of the firstpage
$first_page = "../news/news.php";
// Sets the URL of the login page.
$login_page = "../login/login.php";
// Set to true to enable logging, false to disable.
$log_login = true;
....
Es wird zwar die news.php aufgerufen, aber z.B. der Wert "valid" ist nicht "1".
Kann es sein, dass die SID nicht übergeben wird? Oder wo liegt der Fehler?
Kommentar