wake-up-neo.net

Nach erfolgreichem Login auf eine neue Seite umleiten

Ich bin mir sicher, dass diese Frage schon einmal gestellt wurde, aber ich habe gründlich nach einer Antwort gesucht, aber ohne Erfolg. (Die einzigen Antworten, die ich gesehen habe, beziehen sich auf Ajax.) Aber ich verwende nur Javascript, PHP und HTML.

Ich habe eine login.php-Seite und habe bereits eine HTML-Seite erstellt, die direkt nach der erfolgreichen Anmeldung eines Benutzers die Zielseite sein soll. Wie gehe ich vor?

Im Folgenden finden Sie meinen Code für die Anmeldeseite und die Landing Page nach dem Anmeldenamen transfer.html:

LOGIN.PHP

  <div id="content">
     <h3>Login to Internet Banking</h3>
     <form id="login" action="" method="post">
        <p>
          <label for="userid">UserID:</label>
          <input type="text" name="UserID" id="UserID"/>
        </p>
        <p>
          <label for="PIN">PIN:</label>
          <input type="password" name="PIN" id="PIN" />
        </p>

        <p>
          <input type="submit" name="btnSend" value="Login" class="submit_button" />

        </p>
      </form>
      <td>&nbsp;</td>
 <p>
        Not yet registered?
 <a href="registration.php">Click here to register</a>
 </p>

  <div id="wrap">
        <!-- start PHP code -->
        <?php

            mysql_connect("localhost", "root", "") or die(mysql_error()); // Connect to database server(localhost) with UserID and PIN.
            mysql_select_db("registrations") or die(mysql_error()); // Select registration database.

            if(isset($_POST['name']) && !empty($_POST['name']) AND isset($_POST['PIN']) && !empty($_POST['PIN'])){
                $UserID = mysql_escape_string($_POST['name']);
                $PIN = mysql_escape_string(md5($_POST['PIN']));

                $search = mysql_query("SELECT UserID, PIN, active FROM users WHERE UserID='".$UserID."' AND PIN='".$PIN."' AND active='1'") or die(mysql_error()); 
                $match  = mysql_num_rows($search);

                if($match > 0){
                    $msg = 'Login Complete! Thanks';
                }else{
                    $msg = 'Login Failed!<br /> Please make sure that you enter the correct details and that you have activated your account.';
                }
            }


        ?>
        <!-- stop PHP Code -->
        <?php 
            if(isset($msg)){ // Check if $msg is not empty
                echo '<div class="statusmsg">'.$msg.'</div>'; // Display our message and add a div around it with the class statusmsg
            } ?>

    </div>
        </div>
5
Kaos

Verschieben Sie zunächst Ihren gesamten PHP - Code an die Spitze. Ohne es funktioniert mein Code unten nicht.

Um die Weiterleitung durchzuführen, verwenden Sie:

header('Location: http://www.example.com/');

Bitte beachten Sie auch meinen Rat. Da dies heute nicht die erste Frage ist und alle Ihre Fragen mit den Grundlagen zusammenhängen, sollten Sie ein gutes PHP Buch lesen, um zu verstehen, wie die Dinge funktionieren.

Hier finden Sie nützliche Links zu kostenlosen Büchern: https://stackoverflow.com/tags/php/info

15
Serge Kuharev

Javascript-Umleitung mit PHP-Code generiert:

 if($match > 0){
     $msg = 'Login Complete! Thanks';
     echo "<script> window.location.assign('index.php'); </script>";
 }
 else{
     $msg = 'Login Failed!<br /> Please make sure that you enter the correct  details and that you have activated your account.';
 }

Nur PHP-Weiterleitung:

<?php
    header("Location: index.php"); 
    exit;
?>
8
Hackerman

Versuchen Sie den Header ("Location: home.php"); Anstelle von $ msg = 'Login Complete! Danke '; Ich hoffe es hilft dir.

0
Tapas Pal

Sie müssen den Header location wie folgt festlegen:

header('Location: http://www.example.com/');

Ersetzen Sie http://www.example.com natürlich durch die URL Ihrer Zielseite.

Fügen Sie dies an der Stelle hinzu, an der Sie den Benutzer angemeldet haben.

Hinweis : Wenn der Benutzer umgeleitet wird, wird er sofort umgeleitet, sodass die Nachricht wahrscheinlich nicht angezeigt wird.

Darüber hinaus müssen Sie Ihren PHP -Code oben in der Datei verschieben, damit diese Lösung funktioniert.

Eine weitere Randnotiz ist der obigen Anmerkung zur Verwendung der veralteten mysql-Anweisungen. Beachten Sie die Verwendung der neueren, sichereren und verbesserten mysqli- oder PDO-Anweisungen.

0
War10ck

Kann so verwendet werden

if($match > 0){
 $msg = 'Login Complete! Thanks';
 echo "<a href='".$link_address."'>link</a>";
 }
else{
 $msg = 'Login Failed!<br /> Please make sure that you enter the correct  details and that you have activated your account.';
}
0
vikash