Sessions und Login Hilfe

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
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:
Das Beispiel von dir sieht mir nach dem Lginscript von http://tut.php-q.net/login.html aus. Vielleicht findest du dort Erklärungen.

Ich selbst muss zugeben das mir diese Login Tutorial nicht viel geholfen hat, weil alles über eine index.php läuft und ich nicht zurecht kam mit allen den unterschiedlichen Sectionen.
 
Ja ist es jedoch hilft es mir nicht weiter und würde gerne wissen wie ich das hinkriege nach meinen vorstellungen wäre nett wenn sich jemand daran setzten würde
 
Zurück