Ankündigung

Einklappen
Keine Ankündigung bisher.

ein login-system, basierend auf MySQL und sessions

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

  • #46
    Zitat von KingCrunch Beitrag anzeigen
    Wenn man die Felder anständig validiert, kann man auf addslashes und co verzichten. Reguläre Ausdrücke sind ein mächtige Werkzeug

    DANKE AN ALLE ........ Es funktioniert, leider ohne die "header-funktion"
    Mike / Danke für die Hilfe.
    Sage nicht alles, was Du weißt, aber wisse immer, was Du sagst.

    Kommentar


    • #47
      Zitat von mike-loewe Beitrag anzeigen
      leider ohne die "header-funktion"
      Hmm, komisch...also bei mir läuft das Script einwandfrei durch. Nur mit dem Problem, dass ich keine intern.php habe und er deshalb nen Fehler macht. Aber die URL nimmt er erstmal.

      Kommentar


      • #48
        Problem

        bei mir erscheint folgende fehlermeldung, aber ich kann den fehler nirgens finden:
        Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

        ich hoffe, dass Sie mir helfen könnten

        mfg xyz

        Kommentar


        • #49
          Ich vermute mal, dass etwas mit dem MySql nicht stimmt... ist das vernünftig in den Apache eingebunden?

          Kommentar


          • #50
            ich hab nur die logindaten bekommen und musste es machen, ist kein lokaler server
            mfg xyz

            Kommentar


            • #51
              Dann wende Dich an den Admin der Kiste bzw den Kundenservice

              Kommentar


              • #52
                danke, werd ich machen

                mfg xyz

                Kommentar


                • #53
                  ich weiß der letzte post liegt schon 2 wochen zurück aber habe auch ein problem ... ich habe in meine datenbank einen usernamen --> admin und das passwort --> hh eingefügt

                  jedoch zeigt er mir folgendes an wenn ich die daten eingegeben und auf login geklickt habe:

                  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'u_users WHERE u_name = 'admin' AND u_pass = '5e36941b3d8' at line 4

                  ich vermute mal nach der fehlermeldung nach zu urteilen vergleicht er immer nur 11 stellen des md5 kodierten passwortes in der datenbank

                  aber ich weiß einfach nicht wie ich diesen fehler beheben kann ... da steht zwar die sql-syntax stimmt nicht ganau obwohl da auch steht das irgendwo in zeile 4 was nicht stimmt aber wo?? ich weiß es einfach nicht bin hier auch schon seit 2 stunden auf fehlersuche

                  bitte helft mir

                  thx coraplanet

                  Kommentar


                  • #54
                    sorry hat sich schon erledigt habe einen freund durchlesen lassen und der hat folgenden fehler gefunden:

                    in der check_login.php schrieb ich:

                    Code:
                    $sql = "SELECT u_id,
                    		   u_name,
                    		   u_pass
                    	    FORM   u_users
                    	    WHERE  u_name = '".mysql_real_escape_string($_POST['u_name'])."'
                                AND    u_pass = '".md5($_POST['u_pass'])."'
                                ";
                    anstatt
                    Code:
                    $sql = "SELECT u_id,
                    		   u_name,
                    		   u_pass
                    	    FROM   u_users
                    	    WHERE  u_name = '".mysql_real_escape_string($_POST['u_name'])."'
                                AND    u_pass = '".md5($_POST['u_pass'])."'
                                ";
                    und in der intern.php hatte ich auch nen fehler drin, weiß aber nicht welcher hab aus diesem tut die datei komplett kopiert wie sie hier stand und dann gings ... müsste aber was mit der ausgabe gewesen sein da er mir nen fehler dort in zeile 5 ausgegeben hat...

                    funktioniert aber jetzt einwandfrei und ohne fehler....

                    an den ersteller ... ich find das tut sehr gut (mein eigens geschriebener login hab ich nun komplett verworfen und werde diesen in meine homepage einbauen)

                    daumen hoch

                    thx trotzdem an alle die antworten wollten

                    mfg coraplanet

                    Kommentar


                    • #55
                      <Erledigt>

                      Kommentar


                      • #56
                        Ganz neu und gleich ein riesiges Problem:

                        Habe das Tut ausprobiert und bekomme folgende Fehlermeldungen:

                        logincheckWarning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\xampp\htdocs\intra\check_login.php:10) in C:\xampp\htdocs\intra\check_login.php on line 11

                        Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\intra\check_login.php:10) in C:\xampp\htdocs\intra\check_login.php on line 11

                        Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\intra\check_login.php:10) in C:\xampp\htdocs\intra\check_login.php on line 54
                        Habe den Code kopiert und die Tabelle angelegt in meiner Datenbank.

                        Gebe ich keine Daten ein, kommt nach den ersten beiden Fehlermeldungen wenigstens noch die Ausgabe:

                        es wurden nicht alle relevanten felder ausgefüllt
                        Bitte um Hilfe

                        Grüße aus Paraguay
                        Maribel

                        Edit:

                        also die beiden session_start Fehlermeldungen habe ich eliminiert, lag daran, das es nicht als erstes in der Datei stand.

                        Nun kommt aber bei richtigem Namen und Passwort:

                        Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\intra\config.inc.php:10) in C:\xampp\htdocs\intra\check_login.php on line 45

                        Kommentar


                        • #57
                          Selbes Problem. Auch vor header() dürfen keine Daten an den Client gesendet werden.

                          Kommentar


                          • #58
                            Danke erstmal für Deine schnelle Antwort David.

                            Nur wo?
                            Wenn ich das Script richtig verstehe, sollte bei richtigem Namen und Passwort kein Output erfolgen.

                            Code:
                            <?php
                            session_start();
                            //konfiguration und verbindungsdaten holen
                            include_once('config.inc.php');
                            include_once('connect.inc.php');
                            //prüfen, ob die eingabefelder ausgefüllt wurden
                            if(empty($_POST['u_name']) || empty($_POST['u_pass']))
                                {
                                //wenn sie nicht ausgefüllt wurden
                                echo 'es wurden nicht alle relevanten felder ausgefüllt';
                                exit();
                                }
                                    //wenn sie ausgefüllt wurden
                                    else
                                        {
                                        //eine SQL-abfrage vorbereiten und sie abschicken
                                        $sql = "SELECT     u_id,
                                                        u_name,
                                                        u_pass
                                                FROM     u_users
                                                WHERE     u_name = '".mysql_real_escape_string($_POST['u_name'])."'
                                                AND     u_pass = '".md5($_POST['u_pass'])."'
                                                ";
                                        $result = mysql_query($sql) or die(mysql_error());
                                        //prüfung, ob genau eine der spalten mit der eingabe überein stimmt
                                        if(mysql_num_rows($result) != 1)
                                            {
                                            //wenn nicht übereinstimmt
                                            echo 'sie konnten nicht als benutzer identifiziert werden';
                                            exit();
                                            }
                                                //wenn übereinstimmt
                                                else
                                                    {
                                                    //eine session "logged" auf TRUE setzen
                                                    //eine session mit dem usernamen erstellen
                                                    $_SESSION['logged'] = TRUE;
                                                    $_SESSION['u_name'] = $_POST['u_name'];
                                                    //auf die geschützte datei weiterleiten
                                                    header('location: intern.php');
                                                    exit();
                                                    }
                                        }
                            ?>
                            Ich bin am verzweifeln

                            Gruß Maribel

                            Kommentar


                            • #59
                              output started at C:\xampp\htdocs\intra\config.inc.php:10
                              In Zeile von config.inc.php findet eine Ausgabe statt. Vermutlich hast Du da eine Leerzeile am Ende der Datei.

                              Tipp: Wenn nach dem PHP Code in einer Datei nichts mehr folgt, lass das ?> am Ende weg. Dann treten solche Fehler nicht auf.

                              Kommentar


                              • #60
                                Ahhhh, ein Leerzeichen nach dem ?> in der connect.inc.php bringt mich 4 Stunden lang zum verzweifeln.

                                Danke Dir, nun kann ich wenigstens ruhig schlafen

                                Gruß Maribel

                                Kommentar

                                Lädt...
                                X