Amokrunner
Grünschnabel
Also ich habe folgendes Problem, meine login.php is im index includet wenn man nun eingelogt is wird die index?section=admin aufgerufen, wo auch das Adminmenü erscheint jedoch wenn ich z.b wieder auf index?section=news gehe muss ich mich neu anmelden, wie gelingt es mir eingeloggt zu bleiben?
Das ist mein Login.php
Index schaut wie folgt aus
Meine Funktion
Es wäre nett wenn ihr mir helfen könntet
Das ist mein Login.php
PHP:
if(isset($_GET['action']) AND ("logout" == $_GET['action'])) {
session_destroy();
} else {
// der Adminbereich, wenn nicht ausgelogt werden soll
if(isset($_POST['UserID']) AND '0' == $_POST['UserID']) {
$Wrong = '<p>Bitte wählen sie einen Benutzernamen aus. </p>';
} else {
if(isset($_POST['UserID'], $_POST['Password']) AND
login_right(addslashes($_POST['UserID']),
addslashes($_POST['Password']))) {
$_SESSION['ID'] = $_POST['UserID'];
}
if(isset($_SESSION['ID'])) {
if(isset($_GET['section']) OR isset($admin_site[$_GET['site']])) {
} else {
$_SESSION = array('ID' => $_SESSION['ID'],
'IP' => $_SESSION['IP']);
}
} else {
}
if(isset($_SESSION['ID'])) {
} else {
if(isset($_POST['submit'])) {
// Der Submit-Button wurde gedrückt
// aber der Login ist falsch. Deshalb
// erstellen wir eine Fehlermeldung
$Wrong2 = '<p> Ungültiges Passwort. </p>';
}
echo "<form action=\"index.php?section=admin\" method=\"post\" class=\"admin_form\">\n";
echo " <table>\n";
echo " <tr>\n";
echo " <th colspan=\"2\">\n";
echo " </th>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <label for=\"name\"></label>\n";
echo " </td>\n";
echo " <td>\n";
$sql = "SELECT
`ID`,
`Name`
FROM
`users`
ORDER BY
`Name` ASC;";
$result = mysql_query($sql) OR die(mysql_error());
echo " <select size=\"1\" name=\"UserID\" id=\"name\">\n";
echo " <option value=\"0\" size=\"5\" selected=\"selected\">Name</option>\n";
while($row = mysql_fetch_assoc($result)) {
echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
}
echo " </select>\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td>\n";
echo " <label for=\"password\"></label>\n";
echo " </td>\n";
echo " <td>\n";
echo " <input type=\"password\" size=\"8\" name=\"Password\" id=\"password\" value=\"Password\" onBlur=\"if(this.value=='') this.value='Password';\" onFocus=\"if(this.value=='Password') this.value='';\">\n";
echo " </td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td colspan=\"2\">\n";
echo " <input type=\"submit\" name=\"submit\" size=\"30\" value=\"Login\" />\n";
echo " </td>\n";
echo " </tr>\n";
echo " </table>\n";
echo "</form>\n";
}
}
}
?>
Index schaut wie folgt aus
PHP:
if(isset($_GET['section']) AND ("admin" == $_GET['section'])) {
session_start();
include "admin/admin_menu.php";
} else {
include "Login.php";
}
if(!isset($_SESSION['IP'])) {
$_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
}
if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
echo "<p class=\"error\">\n";
echo " Sie dürfen nicht die Session von einem\n";
echo " anderen user Benutzten. Bitte benutzen sie\n";
echo " folgenden Link um zur Homepage zu gelangen.\n";
echo " <a href=\"/\">Zurück zur Homepage</a>\n";
echo "</p>\n";
die(); // Aus Sicherheitsgründen die Abarbeitung sofort beenden
}
}
Meine Funktion
PHP:
function login_right($id, $pass)
{
$sql = "SELECT
COUNT(*) as Anzahl
FROM
users
WHERE
ID = '".$id."' AND
Password = MD5('".$pass."');";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
return $row['Anzahl'];
}
Es wäre nett wenn ihr mir helfen könntet
Zuletzt bearbeitet: