Login-Skript: kann mich nicht anmelden

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

  • Login-Skript: kann mich nicht anmelden

    Hi,

    ich wollte auf meiner webseite einen bereich nur für freunde einrichten. Somit hab ich mich durch das
    Tutorial - Wie erstelle ich ein LogIn-Skript?
    http://www.php-resource.de/tutorials/read/33/1/

    gearbeitet.

    Leider kommt immerwieder die Fehlermeldung:
    "Sorry, aber dieses Passwort ist falsch!"

    Ich hab mir auch schon das letzte Thema angeschaut und etwas rumprobiert, aber ich habe leider keine ahnung von php und somit hab ich es nicht hinbekommen.

    kann mir jemand weiterhelfen?

  • #2
    Du hast ein Problem mit register_globals Bei dir sind diese vermutlich off und das Script setzt so wie es steht aber ON voraus
    Passe mal Zeile 46 in index.php folgendermassen an
    PHP-Code:
    //anstatt
    $password md5($password);
    //schreibst du
    $password md5($_POST['password']); 
    Uberigens hätte dich das error_reporting, entsprechend gesetzt, in diesem Fall mit einer Warning beglückt und dich auf die fehlerhafte Zeile hingewiesen.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      klasse.
      dank dir für die schnelle antwort. hat geklappt.
      wo muss ich denn das error_reporting hinschreiben ????

      nun hab ich aber noch ein problem:
      wenn ich mich eingeloggt habe, kommt folgendes:
      "LogIn erfolgreich! :-)"
      und der link: "Weiter"

      wenn ich nun aber auf den link klicke, komme ich zurück zur passwortabfrage und nicht auf die geschützte seite.

      kann mir jemand nochmals helfen ?

      Kommentar


      • #4
        wo muss ich denn das error_reporting hinschreiben ????
        Nur während der Entwicklung als erste Zeile deiner Scripts
        PHP-Code:
        error_reporting(E_ALL); 
        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          achso, danke.

          aber nun hab ich noch ein zweites problem:

          wenn ich mich eingeloggt habe, kommt folgendes:
          "LogIn erfolgreich! :-)"
          und der link: "Weiter"

          wenn ich nun aber auf den link klicke, komme ich zurück zur passwortabfrage und nicht auf die geschützte seite.

          kann mir jemand nochmals helfen ?

          Kommentar


          • #6
            Passe den Code mal folgendermassen an
            PHP-Code:
            [...]
            else{
            57      
            58      $_SESSION
            ['user'] = $result['user'];
            59      echo '<p align="center">LogIn erfolgreich! :-)<br><br><a href="sichere_seite.php?'.strip_tags(SID).'">Weiter</a></p>';
            60    
            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Recht herzlichen Dank !!!!!!!!!

              Hat geklappt!

              Mercie

              Kommentar


              • #8
                Fehlermeldung

                Hallo, ich habe in anderes Problem.

                Wenn ich auf neue Benutzer anlegen drücke kommt immer dieser Meldung: "Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!"

                Noch eine Frage, ich vertehe nicht was man mit der login.sql mache. Es steht in der Beschreibung dass die Datei nicht mit auf der Server geladen soll.

                Wie soll ich mit PHPMyAdmin die Tabellenstrultur erstellen?

                Vielen Dank

                Kommentar


                • #9
                  Ich vermute mal stark, dass du sie mit PhpMyAdmin importieren kannst.

                  OffTopic:
                  wurde schonmal angeregt, den Tutorialbereich aufzuräumen? register-globals-login-Tutorials sind mittlerweile das gegenteil von empfehlenswert, und alle naselang fragt jemand sowas.
                  ich glaube

                  Kommentar


                  • #10
                    gelöst

                    Hallo,

                    ich habe das Problem gelöst, ich habe nicht gewusst dass man auf der phpMyAdmin seite den Code umwandeln kann.

                    jetzt habe eine andere Frage, kann man diesen login so verändern dass immer wenn ein Benutzer sich einloggt, wird sein Name in der Liste erscheinen und wenn er sich ausloggt, verschwindet dann sein Name selbst von der Liste?

                    Oder eine andere methode ist, dass die Namen dableiben dafür daneben soll bei online ein grüne Punkt aufleuchten und bei ausloggen einen roten Punkt aufleuchten.


                    Vielen Dank

                    Kommentar


                    • #11
                      Dann musst du das in der Datenbank entsprechend speichern. Um zu verhindern, dass ein Benutzer einfach den Browser schließt und die ganze Zeit als Online angezeigt wird, kannst du bei jeder Aktion den aktuellen Timestamp in die Benutzertabelle schreiben. Bei der Ausgabe sind dann entsprechend alle Online, die innerhalb eines Intervalls liegen, beispielsweise 5 Minuten!

                      Kommentar


                      • #12
                        Hallo Leute!

                        ich muss wirklich sagen, wirklich lässige Seite hier, beschäftige mich erst seit ein paar Wochen mit PHP und hab mir das schon von q-net angeschaut, aber dieses Login-Skript von Andreas Zimare hat mir wirklich zugesagt.
                        http://www.php-resource.de/tutorials/read/33/1/

                        Ich hab das gleiche Problem wie mein Vorredner:

                        Wenn ich auf neue Benutzer anlegen drücke kommt immer dieser Meldung: "Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!"
                        ich habe das Problem gelöst, ich habe nicht gewusst dass man auf der phpMyAdmin seite den Code umwandeln kann.
                        Jetz würde ich gerne wissen, wie das Problem gelöst worden ist und wie ich auf der phpMyAdmin seite den Code (welchen Code??) umwandeln kann.

                        lg und thx im voraus
                        sleepy00

                        Kommentar


                        • #13
                          Es meint damit dass du SQL Code direkt in PHPMyAdmin ausführen kannst. Sprich den Inhalt des Files per c&p im Eingabereich von PMA eingeben. Logge dich in PMA ein, wähle die entsprechende Datenbank und klick dann oben auf SQL. Im folgenden pastest du den Inhalt der SQL Datei rein und klickst auf Absenden/Ausführen.
                          Wenn alles klappt sollte die entsprechende Tabelle in der DB erstelt werden und du kannst loslegen

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            danke, das weiß ich schon *g*

                            aber würd gerne interssieren, wie ich die Fehlermeldung weg bekommen würde eim erstellen eines neuen Users:

                            Hier der Code

                            <?php
                            error_reporting(E_ALL);

                            session_start();
                            if(!session_is_registered('user') || $_SESSION['user'] == "") {
                            header("location:index.php");
                            die;
                            }
                            require("connect.inc.php");
                            ?>
                            <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
                            <html>
                            <head>
                            <title>Neuen Benutzer anlegen</title>
                            <link rel="stylesheet" type="text/css" href="style.css">
                            </head>
                            <body>
                            <?php if(!isset($_POST['submit'])) { ?>
                            <form action="<?php $PHP_SELF ?>" method="post">
                            <table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
                            <tr>
                            <td bgcolor="#e7e7e7" align="center" colspan="2">
                            <b>Neuen Benutzer anlegen</b>
                            </td>
                            </tr>
                            <tr>
                            <td width="170" bgcolor="#e7e7e7">Benutzername</td>
                            <td width="230" bgcolor="#ffffff"><input type="text" name="username" class="input"<?php if($_POST['username'] != "") { echo ' value="'.$_POST['username'].'"'; } ?> size="20"></td>
                            </tr>
                            <tr>
                            <td width="170" bgcolor="#e7e7e7">Passwort</td>
                            <td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
                            </tr>
                            <tr>
                            <td width="170" bgcolor="#e7e7e7">Passwort wiederholen</td>
                            <td width="230" bgcolor="#ffffff"><input type="password" name="password2" size="20" class="input"></td>
                            </tr>
                            <tr>
                            <td bgcolor="#e7e7e7" align="center" colspan="2">
                            <input type="submit" name="submit" value="Benutzer anlegen" class="button">
                            </td>
                            </tr>
                            <tr>
                            <td bgcolor="#e7e7e7" align="center" colspan="2">
                            <a href="sichere_seite.php">Zurück zur Admin-Seite</a>
                            </td>
                            </tr>
                            </table>
                            </form>
                            <?php
                            }elseif(!isset($_POST['username']) || $_POST['username'] == ""){
                            echo '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="neu.php">Zurück</a></p>';
                            }elseif(!isset($_POST['password']) || $_POST['password'] == "") {
                            echo '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br><a href="neu.php">Zurück</a></p>';
                            }elseif($_POST['password'] != $_POST['password2']) {
                            echo '<form action="neu.php" method="post">';
                            echo '<p align="center">Die Passwörter stimmen nicht überein!<br><br>';
                            echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
                            echo '<input type="submit" name="zurueck" value="Zurück"></p>';
                            echo '</form>';
                            }else{
                            $query = @mysql_query("SELECT user FROM users WHERE user = '".$_POST['username']."'");
                            $result = @mysql_fetch_array($query);
                            if($_POST['username'] == $result['user']) {
                            echo '<p align="center">Sorry, dieser Benutzername ist leider schon vergeben!<br><br><a href="neu.php">Zurück</a></p>';
                            die;
                            }else{
                            $username = $_POST['username'];
                            $pass = md5($_POST['password']);
                            if($insert = @mysql_query("INSERT INTO USERS SET user = '$username', pass = '$pass'")) {
                            echo '<p align="center">Der neue Benutzer wurde erfolgreich angelegt!<br><br><a href="sichere_seite.php">Zur Admin-Seite</a></p>';
                            }else{
                            echo '<p align="center">Beim Anlegen des neuen Benutzers trat leider ein Fehler auf!<br><br><a href="neu.php">Zurück</a></p>';
                            }
                            }
                            }
                            ?>
                            </body>
                            </html>

                            thx im voraus
                            lg sleepy00

                            Kommentar


                            • #15
                              1. PHP-Code-Tags verwenden
                              2. Alle @ vor den Funktionen entfernen
                              3. OR die(mysql_error()) benutzen um MySql Probleme einzugrenzen
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X