Login

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

  • Login

    Hi!

    ich weiß dass das Thema Login schon öfter gefallen ist, allerdings finde ich trotzdem meinen Fehler nicht:

    Login Formular:
    <html>

    <body>
    <form method="post" action="check.php">
    <label>Vorname:</label> <input name="vorname" type="text"><br>
    <label>Nachname:</label> <input name="nachname" type="text"><br>
    <label>Passwort:</label> <input name="password" type="password" id="password"><br>
    <input name="login" type="submit" id="login" value="Einloggen">
    </form>
    </body>
    </html>

    check.php

    <?php
    session_start();
    include('sessionhelpers.inc.php');
    $vorname = $_POST['vorname'];
    $nachname = $_POST['nachname'];
    $password = $_POST['password'];


    if((check_user($vorname, $nachname, $password)))
    {
    $_SESSION['user'] =$vorname ;
    $_SESSION['id']=$id;
    header("Location: page.php");
    }
    else
    {
    $_SESSION['user']="";
    header("Location:Login.php");
    }
    ?>

    Funktion check user aus sessionhelper:

    function check_user ( $vorname,$nachname, $password ) {
    { $sql = "SELECT id FROM daten WHERE vorname = '" . $vorname . "'AND nachname = '" . $nachname . "' AND password='" . md5($password) . "'LIMIT 1";

    $result = mysql_query($sql) or exit(mysql_error());
    $id=$_GET['id'];

    $user = mysql_fetch_assoc($result);
    //return $user['id'];
    return "1";

    }

    mit return $user['id']; komme ich immer wieder nur auf das Login Formular, obwohl es mich nach dem richtigen Login auf page.php weiterleiten soll

    mit return "1"; leitet es mich zwar auf diese page.php weiter, allerdings kann isch jeder einloggen, auch diejenigen,die sich gar nicht in der datenbank befinden!!

    lg Sunrise

  • #2
    gibt es die user id 0 in der tabelle?
    das wäre ja fatal...

    Kommentar


    • #3
      PHP-Code:
      $_SESSION['user_id'] = $id
      Woher nimmst du $id?

      Bitte PHP-Tags benutzen, dann kann man deinen Code besser lesen.
      Nieder mit der Camel Case-Konvention

      Kommentar


      • #4
        die nummerierung der id's beginnt bei 1;

        $id bezieh ich aus der tabelle mittels select id, $_GET['id']

        Kommentar


        • #5
          die lokale variable $id hat außerhalb der funktion keine gültigkeit, aber das hättest du auch selbst testen können.

          Kommentar


          • #6
            Nur existiert die var $id nur in der Funktion check_user(), oder nicht? Und demnach ist sie außerhalb ihres Geltungsbereichs nicht existent.
            Nieder mit der Camel Case-Konvention

            Kommentar


            • #7
              grundsätzlich ist sie nur in der funbktion, nur wenn ich die ganze sessionhelpers sache includiere, müsste doch eigenltich auch diese variable mit dabei sein, oder?

              Kommentar


              • #8
                siehe punkt 3 geltungsbereich von variablen

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  danke fürs erste, auch wenns mir nicht wirklich weiterhilft...

                  Kommentar


                  • #10
                    Original geschrieben von sunrise711
                    grundsätzlich ist sie nur in der funbktion, nur wenn ich die ganze sessionhelpers sache includiere, müsste doch eigenltich auch diese variable mit dabei sein, oder?
                    begründe deine vermutung.

                    Kommentar


                    • #11
                      PHP-Code:
                          // Zugriff auf Variablen innerhalb einer Funktion
                          
                      function machWas()
                          {
                             
                      $bla 'schwall';
                             return (
                      $bla);
                          }
                          
                          
                      $neu_bla machWas();
                          echo 
                      $neu_bla
                      und bei dir
                      PHP-Code:
                      if((check_user($vorname$nachname$password))) 
                      aber
                      PHP-Code:
                      $id check_user($vorname$nachname$password);
                      echo 
                      $id
                      verstanden?

                      gruß
                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        anhand von dem obigen code kann ich das nicht erklären, weils gar ned geht, allerdings hab ich jetz bei den variablen die übergeben werden sollen den wert gespeichert und da sollte es funktionieren....

                        Kommentar


                        • #13
                          @nukular:
                          danke den teil hab ich jetz schon verstanden, allerdings weiß ich nach wie vor nicht wie ich mit dem ganzen weiterarbeiten werde, aber trotzdem danke!

                          Kommentar


                          • #14
                            Woran scheiterst du denn?
                            Nieder mit der Camel Case-Konvention

                            Kommentar


                            • #15
                              naja ich muss ja mittels der id dann kontrollieren, ob derjenige überhaupt berechtigt ist und an dem scheitere ich im moment!

                              Kommentar

                              Lädt...
                              X