Ankündigung

Einklappen
Keine Ankündigung bisher.

Login-Bereich

Einklappen

Neue Werbung 2019

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

  • Login-Bereich

    Hallo liebe Community,

    ich hab ein Problem, bei dem ich einfach nicht weiter komme .
    Hab das jetzt eine halbe Ewigkeit mit verschiedenen Tutorials versucht zu lösen, aber irgendwie will es einfach nicht funktionieren...

    Folgendes Problem:
    Ich will auf meiner Seite einen Login-Bereich erstellen, welcher nur für bestimmte Besucher meiner Seite gedacht ist, die ihre Login-Daten auch nur von mir bekommen. Also das Registrieren soll bei diesem Login-Bereich nicht möglich sein.
    Soweit bin ich auch schon fertig. Funktioniert alles wunderbar...
    Jetzt will ich aber für jedem registrierten Besucher, der von mir seinen Persönlichen Login (inkl. Passwort) bekommen hat, eine eigene Seite erstellen auf die er dann nach dem Login weitergeleitet werden soll (Der Link dieser Seite soll dann eine Spalte in meiner MySQL-Tabelle sein).

    Jetzt die Frage:
    Wie kann ich das mit PHP realisieren, dass nach dem Login, jeder Besucher auf seine eigene Seite weitergeleitet wird.

    Ich dachte mir, dass dies evtl. mit dem Login-Code (bei mir login.php) klappen könnte:
    PHP-Code:
    <?
    session_start();
    include 'sessionhelpers.inc.php';
    if (isset($_POST['login']))
    {
        $userid=check_user($_POST['username'], $_POST['userpass']);
        if ($userid!=false)
            login($userid);
        else
            echo 'Ihre Anmeldedaten waren nicht korrekt!';
    }
    if (!logged_in())
        echo '<form method="post" action="login.php">
            <label>Benutzername:</label><input name="username" type="text"><br>
            <label>Passwort: </label><input name="userpass" type="password" id="userpass"><br>
            <input name="login" type="submit" id="login" value="Einloggen">
        </form>';
    else
        echo '<a href="logout.php">Ausloggen</a>';
    ---> dann hier der Code, für die Weiterleitung, welchen ich eben nicht rauskriege <---
    PHP-Code:
    echo '<p /><a href="logged_in.php">Check</a>';
    ?> 





    <form method="post" action="login.php">
      <label>Benutzername:</label><input name="username" type="text">
      <br>
      <label>Passwort: </label><input name="userpass" type="password" id="userpass">
      <br>
      <input name="login" type="submit" id="login" value="Einloggen">
    </form> 
    Würde mich auf einige Lösungsvorschläge freuen.

    GreetzZZ ~OLLi~


  • #2
    vielleicht gehts mit dem html redirect befehl?

    Kommentar


    • #3
      ja, natürlich wäre das eine Möglichkeit damit der User dann auf die Seite kommt.

      Aber mir geht´s erstmal darum wie ich das hinkriege, dass nach dem Login eine bestimmte Spalte in der MySQL-Tabelle ausgelesen wird, die zu diesen User, der sich angemeldet hat, gehört.
      Also, nochmal ausführlich. (Ist nämlich etwas kompliziert zu erklären...)
      Meine Tabelle schaut so aus, dass im großen und ganzen eigentlich 3 wichtige Spalten vorhanden sind, nämlich
      1.: der Login-Name
      2.: das Passwort
      und 3.: die Adresse der Seite auf die der User weitergeleitet werden soll wenn er sich anmeldet. (Die Seite ist ja bei jedem User anders)

      Wie kann ich dann den Inhalt der 3. Spalte meiner Tabelle auslesen, die anhand der 1. und 2. Spalte erkannt wird?

      Kommentar


      • #4
        Wie sehen check_user() und login() aus?
        An einer der beiden Funktionen musst Du vermutlich etwas ändern. Ich tippe auf check_user().

        Kommentar


        • #5
          PHP-Code:
          function check_user($name$pass)
          {
              
          $sql="SELECT UserId
              FROM users
              WHERE UserName='"
          .$name."' AND UserPass=MD5('".$pass."')
              LIMIT 1"
          ;
              
          $resultmysql_query($sql) or die(mysql_error());
              if ( 
          mysql_num_rows($result)==1)
              {
                  
          $user=mysql_fetch_assoc($result);
                  return 
          $user['UserId'];
              }
              else
                  return 
          false;

          und

          PHP-Code:

          function login($userid)
          {
              
          $sql="UPDATE users
              SET UserSession='"
          .session_id()."'
              WHERE UserId="
          .$userid;
               
          mysql_query($sql);

          Kommentar


          • #6
            Wie kann ich dann den Inhalt der 3. Spalte meiner Tabelle auslesen, die anhand der 1. und 2. Spalte erkannt wird?
            Indem du eine SQL Abfrage macht mit SELECT spalte 3 FROM tabelle WHERE benutzernam='$benutzername' oder id='$id'

            Kommentar


            • #7
              PHP-Code:
              // function check_user($name, $pass)
              function get_user($name$pass)

                
              $sql="
                  SELECT
                    UserId,drittesFeld
                  FROM
                    users
                  WHERE
                    UserName='"
              .mysql_real_escape_string($name)."'
                    AND UserPass='"
              .md5($pass)."')
                  LIMIT
                    1"
              ;
                
              $resultmysql_query($sql) or die(mysql_error());
                return 
              mysql_fetch_array($resultMYSQL_ASSOC);

              Entweder liefert die Funktion FALSE oder ein Feld mit den gewünschten Daten.

              Kommentar

              Lädt...
              X