Ankündigung

Einklappen
Keine Ankündigung bisher.

Nach Login zur letzten Seite weiterleiten

Einklappen

Neue Werbung 2019

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

  • Nach Login zur letzten Seite weiterleiten

    Hallo,
    ich möchte gerne, dass die User meiner Homepage nach dem Login zu der Seite weitergeleitet werden, die sie als letztes besucht haben. Der Login ist auf jeder Seite rechts in einer Box eingebunden.
    Hier ist der Quellcode der Box:

    PHP-Code:
    <?php
    if (empty($status1)) {
      
    $status1 "Status: nicht eingeloggt";
    }

    if (isset(
    $_SESSION['login']) && $_SESSION['login'] === true) {
    echo 
    "<p>{$status1}</p>";
    } else {
    echo 
    "<p>{$status1}</p>";
    echo <<<FORMULAR

    <form action="index.php" method="post">

    Benutzername:<br>
    <input type="text" name="user" maxlength="15"><br>
    Passwort:<br>
    <input type="password" name="pw" maxlength="15"><br>
    <input type="checkbox" name="keep" value="1"> 
    Dauerhaft eingeloggt bleiben?
    <input type="submit" value="Absenden">
    </form>
    FORMULAR;
    }
    ?>
    und hier der Code von der Datei, in der der Login passiert:

    PHP-Code:
    if (!empty($_POST['user']) && !empty($_POST['pw'])) {
      if (
    SID != "") { // SID ungleich Leerstring
        
    $status1 "Bitte schalte Cookies ein!";
      } else {
        
    $muster="/^[a-zA-Z0-9-_.]{5,15}$/";
        
    $user trim($_POST['user']);
        
    $pw trim($_POST['pw']);
        if (
    preg_match($muster$user) == 0) {
          
    $status1 "Das ist kein gültiger Username. ";
        }
        if (
    preg_match($muster$pw) == 0) { // Passwort-Check
          
    $status1 .= "Das ist kein gültiges Passwort.";
        } else {
          
    $pw md5($pw);
        }
        if (empty(
    $status1)) {
          
    $loginsql "SELECT name, pw FROM users
    WHERE name='
    $user' AND pw='$pw' AND member=1";
          
    $result mysql_query($loginsql);
          if (
    mysql_num_rows($result) == 1) {
            
    $_SESSION['login'] = true;
            
    $status1 "Du bist eingeloggt als <strong>$user</strong>!";
            
    $_SESSION['user'] = $user;
             
          } else {
            
    $_SESSION['login'] = false;
            
    $status1 "Einloggdaten nicht korrekt!";
          } 
        }
      }

    ?> 
    Die Session wird oben in jeder Datei initialisiert, genauso wie die Connection zur Datenbank.

    Wie bekomme ich es nun hin, dass die User zu der Seite weitergeleitet werden, die sie als letztes besucht haben? Im Moment werden sie, egal auf welcher Seite sie sich einloggen, immer zur index.php weitergeleitet

  • #2
    Wenn du den Login zentral verarbeitest und nicht nur beim Aufruf von index.php, kannst du <form action="" ...> verwenden (leerer String als Action-Attribut!)

    Ansonsten brauchst du für deine Weiterleitung:
    PHP: header - Manual
    PHP: $_SERVER - Manual ($_SERVER['HTTP_REFERER'])
    [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
    [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

    Kommentar

    Lädt...
    X