Quakenet-Loginscript funktioniert nicht?!

  • Hey,

    ersteinmal ein HALLO an Alle, bin neu hier ;)

    ich probiere seit einigen Tagen das Loginscript von Quakenet aus aber irgendwie läuft da immer wieder was falsch und leider bin ich noch net gut genug in der Verständlichkeit von PHP um den Fehler selber zu finden.

    Immer wenn ich einen neuen Benutzer anlegen will passiert nichts außer dass ich wieder zur Startseite springe. Die Datenbank bleibt auch vollkommen unberührt.

    An der Datenbank liegts schonmal nicht, da bin ich mir sicher. Es muss wohl irgendwo im unteren Teil vom Script liegen, denke ich.
    Ich habe mehrmals alles genauso gemacht wie es da steht, also liegt der Fehler vllt bei Quakenet oder bin ich zu blöd?^^

    Das script ist hier http://tut.php-q.net/de/login.html zu finden.

    Vielleicht findet ja einer den Fehler bei Quakenet, wenn nicht dann poste ich mal mein Script um zu gucken ob ich nicht doch nen eigenen Fehler rein gehauen habe.

  • Ich empfehle:

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • Bei "error_reporting(E_ALL); und ini_set("display_errors", true);" passiert nichts, das ist es ja. Habe ich ja schon alles drin, ich finde einfach keinen Fehler im Script aber es funktioniert nicht :(

  • Versuch doch mal das ganze selbst zu programmieren. Wenn du später größeres machen willst musst du das eh können. Hier ein bsp. für ein SEHR ausführliches login-script:


    und wenn du dich viel mit dem Quakenet Tutorial auseinandergesetzt hast, kannst du wie folgt vorgehen:
    -Welche daten brauche ich?
    ->Benutzername (übergeben)
    ->Passwort (übergeben)
    ->Passwort (aus der datenbank)
    -Wie gehe ich vor?
    ->Daten passen (WHERE) auslesen
    ->Passwörter vergleichen
    ->Wenn stimmend, cookies setzen

    Ich denke das ist zu schaffen, oder?

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!

  • Ja der Login ist schön und gut, aber beim Quakenet-Tut gehts auch ums registrieren, und mein Fehler ist wohl da irgendwo, halt wenn ich mich registrieren will.

    Ich verstehe ja, was da steht, aber ich find den Fehler nicht weil für mich alles logisch aussieht :(

  • Kannst du mal die Dateien packen und hier als Attachment anhängen, dann kann man sich das mal schnell ansehen, ich wollte jetzt nicht unbedingt das ganze Tutorial durchgehen. ;)

    Gruß crAzywuLf :D

  • Also hier ist die register.php

    Dazu die functions.php

    PHP
    <?php
    define('INVALID_FORM', 'Benutzen sie nur Formulare von der Homepage.');
    define('EMPTY_FORM', 'Bitte füllen sie das Formular vollständig aus.');
    ?>

    Und die constants.php

    PHP
    <?php
    function showInfo($msg) {
        $a = array();
        $a['filename'] = 'info.tpl';
        $a['data'] = array();
        $a['data']['msg'] = $msg;
        return $a;
    }
    ?>

    Und das Formular.

    HTML
    <form action="index.php?seite=reg" method="post">
         <legend>Registieren</legend>
         <fieldset><table>
            <tr><td>Username: </td><td><input type="text" name="Username" /></td></tr>
            <tr><td>Passwort: </td><td><input type="password" name="Password[]" /></td></tr>
            <tr><td>Bestätigung: </td><td><input type="password" name="Password[]" /></td></tr>
            <tr><td>E-Mail: </td><td><input type="text" name="Email" /></td></tr>
            <tr><td><input type="submit" name="formaction" value="Registieren" /></td><td></td></tr>
        </table></fieldset>
    </form>

    Wenn ich im Formular auch irgendetwas falsch schreibe oder die Passwörter unterschiedlich sind, wird auch kein Fehler angezeigt. Springt jedesmal nur zum index zurück, kA warum.

    hier ist die index.php, komplett.

    und die inhalt.php, das müsste alles wichtige sein denke ich :D

    Einmal editiert, zuletzt von sms48 (30. Oktober 2009 um 13:31)

  • Habs editiert damit alles in einem Post steht ;)
    die inhalt.php steht eigentlich in einer tabelle aber die habe ich mal entfernt damits nen bissel übersichtlicher ist. deswegen steht da jetzt "?><?php", nicht wundern ;)