einfaches Loginscript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • einfaches Loginscript

    Hallo,

    habe versucht mir mal ein einfaches LoginScript zu bauen, allerdings hab ich da einiege Probleme es funktioniert halt nix.

    Index.php
    ------------------------------------------
    PHP-Code:
    <?php
        error_reporting
    (E_ALL);
        include 
    "inc/config.php"// die Konfigurationsdateien lesen.

        
    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
        
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

        
    // Session starten wenn ?section=admin geöffnet wurde
        
    if(isset($_GET['section']) AND ("admin" == $_GET['section'])) {
            
    session_start();
            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
            
    }
        }

        if(
    get_magic_quotes_gpc()) {
            
    array_stripslashes($_GET);
            
    array_stripslashes($_POST);
            
    array_stripslashes($_COOKIE);
        }

        echo 
    "Dies ist die Index.php";

    ?>
    admin.php
    --------------------------------------------
    PHP-Code:
    <?php
    include "inc/config.php"// die Konfigurationsdateien lesen.
    @mysql_connect(MYSQL_HOSTMYSQL_USERMYSQL_PASS) OR die(mysql_error());
        
    mysql_select_db(MYSQL_DATABASE) OR die(mysql_error());

        
    // die admin.php
        
    if(isset($_GET['action']) AND ("logout" == $_GET['action'])) {
            
    session_destroy();
            echo 
    "<p>\n";
            echo 
    "    Sie haben sich ausgeloggt. Um wieder in den Adminbereich\n";
            echo 
    "    zu kommen müssen sie sich wieder Einloggen\n";
            echo 
    "</p>\n";
        } else {
            if(isset(
    $_POST['UserID']) AND '0' == $_POST['UserID']) {
                echo 
    "<p>\n";
                echo 
    "    Bitte wählen sie einen Benutzernamen aus.\n";
                echo 
    "</p>\n";
            } else {
                if(isset(
    $_POST['UserID'], $_POST['password']) AND
                   
    login_right(addslashes($_POST['UserID']),
                               
    addslashes($_POST['password']))) {
                    
    $_SESSION['ID'] = $_POST['UserID'];
                }

                if(isset(
    $_SESSION['ID'])) {
                    echo 
    "<p>\n";
                    echo 
    "Willkommen im Adminbereich <br />\n";
                    
    // Die Session-ID nicht vergessen
                    
    echo "    <a href=\"index.php?section=admin&amp;".SID."\">Repeat</a>\n";
                    echo 
    "    <a href=\"index.php?section=admin&amp;action=logout&amp;".SID."\">Ausloggen</a>\n";
                    echo 
    "</p>\n";
                } else {
                    if(isset(
    $_POST['submit'])) {
                         
    // Der Submit-Button wurde gedrückt
                         // aber der Login ist falsch. Deshalb
                         // erstellen wir eine Fehlermeldung
                         
    echo "<p>\n";
                         echo 
    "    Ungültiges password.\n";
                         echo 
    "</p>\n";
                    }
                    echo 
    "<form action=\"index.php?section=admin\" method=\"post\" class=\"formular\">\n";
                    echo 
    "    <p>\n";
                    echo 
    "        Adminbereich\n";
                    echo 
    "    </p>\n";
                    echo 
    "    <ol>\n";
                    echo 
    "        <li>\n";
                    echo 
    "            <label for=\"Name\">Name</label>\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\" selected=\"selected\">Bitte wählen</option>\n";
                    while(
    $row mysql_fetch_assoc($result)) {
                        echo 
    "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
                    }
                    echo 
    "                </select>\n";
                    echo 
    "        </li>\n";
                    echo 
    "        <li>\n";
                    echo 
    "            <label for=\"password\">password</label>\n";
                    echo 
    "            <input type=\"password\" Name=\"password\" id=\"password\" />\n";
                    echo 
    "        </li>\n";
                    echo 
    "        <li>\n";
                    echo 
    "            <input type=\"submit\" Name=\"submit\" value=\"Speichern\" />\n";
                    echo 
    "            <input type=\"reset\" Name=\"submit\" value=\"Zurücksetzen\" />\n";
                    echo 
    "        </li>\n";
                    echo 
    "    </ol>\n";
                    echo 
    "</form>\n";
                }
            }
        }
    ?>
    außerdem hab ich noch 3 config datein, wobei ich denke das ich den code hier ned posten muss das übliche halt definitionen oder einstellungen für die datenbanken.

    MFG
    Rinecer
    Zuletzt geändert von Rinecer; 31.07.2004, 14:22.

  • #2
    *lol*

    1. Scripte immer mit [ PHP][ /PHP] posten

    2. Debugausgaben?

    3. Fehlermeldungen?
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      hätte nicht ein gut formatierter ausschnitt mit entsprechenden kommetaren gereicht???

      Kommentar


      • #4
        Naja, wir wissen ja nicht mal, um was für ein Problem es sich handelt, dass nichts funktioniert ist ein alt bekanntes Problem, allerdings könnte er mal kontrollieren bis wohin das Script ordentlich läuft..
        PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

        Kommentar


        • #5
          Hallo,

          sorry war eben Einkaufen jemand ein Bier ? :-)

          Also beide seiten gehen, jedoch ob ich bein der admin.php ein password eingebe oder nicht es ist egal, ich werde sofort zur index.php weitergeleitet. benutze ich index.php?section=admin werde ich ebenfalls einfach weitrergeleitet.

          MFG
          Rinecer

          Kommentar


          • #6
            ich trink zwar grad noch nen joghurt, aber wenns n blondes ist...

            dann poste mal bitte den entsprechenden ausschnitt, wo die logindaten überprüft werden z.b. ich hab nämlich kein bock deinen IMMERNOCH UNFORMATIERTEN code durchzulesen.

            Kommentar


            • #7
              ich denke mal du meinst dies, hab alles formatiert :-)

              PHP-Code:
               if(isset($_POST['UserID']) AND '0' == $_POST['UserID']) {
                          echo 
              "<p>\n";
                          echo 
              "    Bitte wählen sie einen Benutzernamen aus.\n";
                          echo 
              "</p>\n";
                      } else {
                          if(isset(
              $_POST['UserID'], $_POST['password']) AND
                             
              login_right(addslashes($_POST['UserID']),
                                         
              addslashes($_POST['password']))) {
                              
              $_SESSION['ID'] = $_POST['UserID'];
                          } 

              Kommentar


              • #8
                okay.

                und jetzt gehst du den kompletten code mal im kopf durch. und zwar ohne (auch im kopf) ein passwort einzugeben. dann sollstest du den fehler finden.

                Kommentar


                • #9
                  WENN ICH NICHT GRAD NE MEGA BLOCKADE HÄTTE WÜRDE DAS JA AUCH KLAPPEN

                  Kommentar


                  • #10
                    Original geschrieben von Rinecer
                    WENN ICH NICHT GRAD NE MEGA BLOCKADE HÄTTE WÜRDE DAS JA AUCH KLAPPEN
                    Dann hau dich auf die Couch, entspann dich mal etwas und setz dich danach wieder dran...
                    Und vorallem: GROSS SCHREIBEN GILT IM WWW ALS SCHREIEN ! :-)

                    btw. Kauf dich mal Tüte Deutsch
                    Zuletzt geändert von fideli; 31.07.2004, 14:50.

                    Kommentar


                    • #11
                      Cooldown. Kein Grund hier die Feststelltaste zu blockieren!

                      Kommentar


                      • #12
                        Original geschrieben von fideli
                        btw. Kauf dich mal Tüte Deutsch
                        Manj kann auch eine tüte rauchen, dann kann man wieder viel besser denken

                        Forumregeln!

                        Gute PHP-(tutorial-)Seiten

                        Kommentar


                        • #13
                          Hi,

                          so hab mir alles einmal ausgedruckt und in Ruhe durchgelesen. Habe es auch mit Aufzeichnungen verglichen, habe jedoch nichts bemerkt.

                          MFG
                          Rinecer

                          Kommentar


                          • #14
                            testausgaben machen!

                            überall, in/unter jeder relevanten zeile ^^ ... bis du die stelle findest, wo ... blablabla

                            werde ich ebenfalls einfach weitrergeleitet.
                            was meinst du damit? wie leitest du weiter?
                            Die Zeit hat ihre Kinder längst gefressen

                            Kommentar


                            • #15
                              schau doch einmach mal bei quake.net da wo du den code geklaut hast. da findest du auch die antworten. ist doch alles simple beschrieben. also schreib nicht das du das loginscript geschrieben hast.
                              schau unter tut.php-q.net/login.html da steht alles

                              Kommentar

                              Lädt...
                              X