Problem bei Loginscript änderung

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

  • Problem bei Loginscript änderung

    Hi leute ich möchte gerne denn selectbereich durch ein input feld ersetzen, damit die user ihren benutzernamen selber eingeben müssen, doch leider bekomme ich es nicht ohne fremde hilfe hin.
    Das Loginscript habe ich von tut.php-q.net

    Mfg TheBlackAngel

    Die Checklogin Funktion

    PHP-Code:
      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'];
      } 


    Die admin.php

    PHP-Code:
    <?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'])) {
                    if(isset(
    $_GET['site']) AND isset($admin_site[$_GET['site']])) {
                        include 
    $admin_site[$_GET['site']];
                    } else {
                        include 
    "admin_menu.php";
                        
    // Das Hauptmenu vom Adminbereich laden
                    
    }
                } else {
                    if(isset(
    $_POST['submit'])) {
                         
    // Der Submit-Button wurde gedrückt
                         // aber der Login ist falsch. Deshalb
                         // erstellen wir eine Fehlermeldung
                         
    echo "<p class=\"error\">\n";
                         echo 
    "    Ungültiges Password.\n";
                         echo 
    "</p>\n";
                    }
                    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 
    "                <h2>Adminbereich</h2>\n";
                    echo 
    "            </th>\n";
                    echo 
    "        </tr>\n";
                    echo 
    "        <tr>\n";
                    echo 
    "            <td>\n";
                    echo 
    "                <label for=\"name\">Name:</label>\n";
                    echo 
    "            </td>\n";
                    echo 
    "            <td>\n";

    // ab hier soll geändert werden

                    
    $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";

    // bis hier soll geändert werden

                    
    echo "            </td>\n";
                    echo 
    "        </tr>\n";
                    echo 
    "        <tr>\n";
                    echo 
    "            <td>\n";
                    echo 
    "                <label for=\"password\">Password:</label>\n";
                    echo 
    "            </td>\n";
                    echo 
    "            <td>\n";
                    echo 
    "                <input type=\"password\" name=\"Password\" id=\"password\"/>\n";
                    echo 
    "            </td>\n";
                    echo 
    "        </tr>\n";
                    echo 
    "        <tr>\n";
                    echo 
    "            <td colspan=\"2\">\n";
                    echo 
    "                <input type=\"submit\" name=\"submit\" value=\"Abschicken\" />\n";
                    echo 
    "                <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
                    echo 
    "            </td>\n";
                    echo 
    "        </tr>\n";
                    echo 
    "    </table>\n";
                    echo 
    "</form>\n";
                }
            }
        }
    ?>
    Zuletzt geändert von TheBlackAngel; 06.12.2003, 02:27.


  • #2
    NUR MUSTER:

    nimmste das raus:

    PHP-Code:
                     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"
    und fügste das ein:
    PHP-Code:
    echo "<input type=\"hidden\" name=\"UserID\" value=\"".$row['ID']."\">\n";
    echo 
    " <input  value=\"".$row['Name']."\" name=\"UserName\" size=\"40\" maxlength=\"60\">\n"
    ohne garantie auf Funktionsfähigkeit.

    Die frage ist nur wo ist das Scriptteil womit du den Namen dann in der DB updatest?
    mfg
    marc75

    <Platz für anderes>

    Kommentar


    • #3
      kleiner Gedankenfehler, meinerseits, die Leute, sollen sicherlich Ihren Namen nicht ändern können im Loginscript oder?

      naja, das hiddenfeld muss dann weg und im script müssen alle UserId und Id felder durch UserName (oder wie es in der DB steht ) angepasst werden.
      mfg
      marc75

      <Platz für anderes>

      Kommentar


      • #4
        Also von der Idee her is das doch ziemlich simpel.

        Die Usernamen werden eingegeben und an dein Script geschickt, jetzt prüfst du erstmal ob der Username überhaupt richtig is (das machste einfach per mysql_query() wenn da keine rows zurückkommen gibts den Usernamen nich). Wenn die Datenbank dir was zurückgibt dann haste auch automatisch die user-ID und das passwort (die ja auch in der DB stehen).
        Jetzt nur noch das Passwort mim eingegeben Passwort vergleichen und das wars auch schon...

        Sooo schwer is das nich zu schreiben. Auf Quakenet steht alles was du dazu brauchst, wenn das nich reichen sollte such mal hier im Forum da gibts schon ne Menge Threads zu dem thema


        Learing by doing is besser als nur Code einzubinden den man nich versteht...
        Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
        (Albert Einstein)

        Kommentar

        Lädt...
        X