Hallo Ihr,
ich habe mit meinem Login-Script ein Problem und hoffe jemand weiß Rat. Während die erste Seite, nach dem Login aufgerufen wird, problemlos funktioniert, kann ich nicht auf Seite gelangen und er bringt mir immer die Meldung: keinen Zutritt, sprich irgendwie werden die Daten wohl nicht übergeben...ich kann aber nicht erkennen, wo genau nicht:
Die Login-HTML-Seite:
PHP-Code:
<html>
<head>
<title>Eingabe Projekt</title>
<link rel="stylesheet" media="screen" href="meta.css"></head>
<body>
<h1 align="center">Meta Systems - Projektdatenbank Login
</h1>
<form class=body action="login.php" method="post" align="center">
<DIV class=fieldframe align="center">
<TABLE cellSpacing=1 cellPadding=2 width="100%" border=0 align="center">
<TBODY>
<TR class=field>
<TD>
<DIV class=field>
<div align="center">
<center>
<TABLE cellSpacing=0 cellPadding=2 width="100%">
<TBODY>
<TR>
<td class=label style="WIDTH: 30%; min-width: 50px; max-width: 200px">Username:</td>
<td class=input style="WIDTH: 70%; min-width: 70%"><input class=inputform type="text" name="username" size="34"></TD></TR></TBODY></TABLE></center>
</div>
</DIV></TD></TR>
<TR class=field>
<TD>
<DIV class=field>
<TABLE cellSpacing=0 cellPadding=2 width="100%">
<TBODY>
<TR>
<td class=label style="WIDTH: 30%; min-width: 50px; max-width: 200px">Password:</td>
<td class=input style="WIDTH: 70%; min-width: 70%"><input class=inputform type="password" name="password" size="34"></TD></TR></TBODY></TABLE></DIV></TD></TR>
</TBODY></TABLE></DIV>
<DIV class=buttonframe style="HEIGHT: 23px"><INPUT class=button style="FLOAT: left" type=submit value=Abbrechen name=cancel><INPUT
type=hidden value=index name=session_nextpage_1><INPUT class=button style="FLOAT: right" type=submit value=Abschicken name=ok></DIV></FORM></form>
</body></html>
Die erste Seite die nach dem Login aufgerufen wird un korrekt funktioniert:
PHP-Code:
<?php
session_start();
$sid = session_id();
$db_host = "localhost";
$db_user = "whatever";
$db_password = "whatever";
$db = "whatever";
mysql_connect($db_host, $db_user, $db_password) or die ("Es konnte keine Verbindung zur MySql hergestellt werden.");
mysql_select_db($db) or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden.");
$password = $_POST['password'];
$username = $_POST['username'];
$query = "SELECT * FROM pro_usertable WHERE password = '$password' AND username='$username'";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
$checkuser = $row['username'];
$checkpassword = $row['password'];
$function = $row['function'];
}
echo "<html><head><title>Eingabe Projekt</title>";
echo "<link rel=\"stylesheet\" media=\"screen\" href=\"meta.css\"></head>";
echo "<body><h1 align=\"center\">Meta Systems - Projektdatenbank</h1>";
if($username == $checkuser && $password == $checkpassword) {
session_register("username","password");
echo "[url='tageszettel.php?sid=".$sid."']Tageszettel ausfüllen[/url]";
echo "[url='tageszettel_uebersicht.php?sid=".$sid."']Tageszettel Übersicht[/url]";
if ($function == "admin") {
echo "[url='new_user.php?sid=".$sid."']User anlegen[/url]";
echo "[url='new_projekt.php?sid=".$sid."']Projekt anlegen[/url]";
echo "[url='projekt_uebersicht.php?sid=".$sid."']Projekt Übersicht[/url]";
}
echo "[url='logout.php']Logout[/url]";
echo "
Hallo $username,</p>";
echo "
Bitte Aktion aus oben stehenden Menü auswählen.</p>";
echo "</body></html>";
} else {
echo "Deine Daten sind falsch, bitte gehe zurück und verbessere diese!";
}
?>
Wenn ich nun einen Link oben anklicke, wie zum Beispiel neuen User anlegen, öffnet sich folgende Seite:
PHP-Code:
<?php
session_start();
session_register("username","password","sid");
$db_host = "whatever";
$db_user = "whatever";
$db_password = "whatever";
$db = "whatever";
mysql_connect($db_host, $db_user, $db_password) or die ("Es konnte keine Verbindung zur MySql hergestellt werden.");
mysql_select_db($db) or die ("Es konnte keine Verbindung zur Datenbank hergestellt werden.");
$password = $HTTP_SESSION_VARS['password'];
$username = $HTTP_SESSION_VARS['username'];
echo "Username: $username";
echo "Password: $password";
$query = "SELECT * FROM pro_usertable WHERE password = '$password' AND username='$username'";
$result = mysql_query($query);
if(mysql_fetch_array($result)){
echo "HIER IST GESCHÜTZTER BEREICH !!!";
} else {
echo "Du hast keinen Zutritt!";
}
?>
Und hier springt er dann immer wieder in die else-Anweisung: Du hast keinen Zutritt.
Weiß jemand Rat?