it-swarm.com.de

Wie kann ich mit Javascript von einer Seite zu einer anderen Seite wechseln?

Wenn der Benutzer von einer Admin-Seite gültig ist, sollte der Browser zu einer anderen Seite wechseln.

Wenn ein Benutzer seinen Benutzernamen und sein Kennwort eingibt, dann auf die Schaltfläche OK klickt, wird eine weitere Seite angezeigt und die Anmeldeseite wird automatisch geschlossen.

Wie mache ich das mit JavaScript?

52
SIVAKUMAR.J

So leiten Sie einen Browser einfach mit Javascript um:

window.location.href = "http://example.com/new_url";

Um ein Formular umzuleiten und abzusenden (d. H. Anmeldedaten), ist kein Javascript erforderlich:

<form action="/new_url" method="POST">
   <input name="username">
   <input type="password" name="password">
   <button type="submit">Submit</button>
</form>
93
David Tang

Sie können sich nicht auf clientseitiges JavaScript verlassen, um festzustellen, ob die Benutzeranmeldeinformationen korrekt sind. Der Browser (und der gesamte Code, der diesen ausführt) unterliegt der Kontrolle des Benutzers, nicht Sie, und ist daher nicht vertrauenswürdig.

Der Benutzername und das Passwort müssen über ein Formular eingegeben werden. Die Schaltfläche OK ist eine Senden-Schaltfläche. Das Aktionsattribut muss auf eine URL verweisen, die von einem Programm verarbeitet wird, das die Anmeldeinformationen überprüft.

Dieses Programm könnte in JavaScript geschrieben sein, aber wie Sie vorgehen, hängt davon ab, welche serverseitige JavaScript-Engine Sie verwenden. Beachten Sie, dass SSJS keine Mainstream-Technologie ist. Wenn Sie sie also wirklich verwenden möchten, müssen Sie ein spezialisiertes Hosting verwenden oder Ihren eigenen Server verwalten.

(Ein halbes Jahrzehnt später und SSJS ist dank Node.js viel häufiger, obwohl es immer noch ziemlich spezialisiert ist).

Wenn Sie danach umleiten möchten, muss das Programm einen HTTP Location Header ausgeben.

Beachten Sie, dass Sie überprüfen müssen, ob die Anmeldeinformationen in Ordnung sind (in der Regel durch Speichern eines Tokens, bei dem es sich nicht um das tatsächliche Kennwort handelt, in einem Cookie), bevor Sie eine private Seite ausgeben. Andernfalls könnte jeder durch Kenntnis der URL zu den privaten Seiten gelangen (und so das Anmeldesystem umgehen).

9
Quentin

Wenn Sie sicherstellen, dass ein Benutzer ein Administrator in Javascript ist, führt dies zu Problemen, da der JavaScript-Code für jeden sichtbar ist. Der Server ist derjenige, der den Unterschied zwischen einem Administrator und einem normalen Benutzer NACH dem Anmeldeprozess feststellen und dann die neue Seite entsprechend generieren muss. 

Vielleicht versuchen Sie das nicht, um Ihre Frage zu beantworten:

window.location.href="<the page you are going to>";
6
Mircea Nistor

Versuche dies,

window.location.href="sample.html";

Hier ist sample.html eine nächste Seite. Es wird zur nächsten Seite weitergeleitet.

5
Vinay Podili

Die richtige Lösung, die ich bekomme, ist

<html>
      <head>
        <script type="text/javascript" language="JavaScript">
                  function clickedButton()
            {

                window.location = 'new url'

            }
             </script>
      </head>

      <form name="login_form" method="post">
            ..................
            <input type="button" value="Login" onClick="clickedButton()"/>
      </form>
 </html>

Hier wird die neue URL im einfachen Anführungszeichen angegeben.

4
SIVAKUMAR.J

Einfachere Methode ist window.location.href = "http://example.com/new_url";

Was aber, wenn Sie überprüfen möchten, ob Benutzername und Kennwort leer sind oder nicht, und verwenden Sie JavaScript, um es an den PHP-Server zu senden, um zu prüfen, ob sich Benutzer in der Datenbank befinden. Sie können dies einfach nach diesem Code tun.

HTML-Formular -

<form name="myForm" onsubmit="return validateForm()" method="POST" action="login.php" >         
    <input type="text" name="username" id="username" />
    <input type="password" name="password" id="password" />
    <input type="submit" name="submitBt"value="LogIn" />
</form>

Javascript-Validierung

function validateForm(){
    var uname = document.forms["myForm"]["username"].value;
    var pass = document.forms["myForm"]["password"].value;

    if((!isEmpty(uname, "Log In")) && (!isEmpty(pass, "Password"))){

        return true;
    }else{
        return false;
    }
}

function isEmpty(elemValue, field){
    if((elemValue == "") || (elemValue == null)){
        alert("you can not have "+field+" field empty");
        return true;
    }else{
        return false;
    }
}

prüfe ob Benutzer in der Datenbank mit PHP

<?php
    $con = mysqli_connect("localhost","root","1234","users");

    if(mysqli_connect_errno()){
        echo "Couldn't connect ".mysqli_connect_error();
    }else{
        //echo "connection successful <br />";
    }

    $uname_tb = $_POST['username'];
    $pass_tb = $_POST['password'];

    $query ="SELECT * FROM user";
    $result = mysqli_query($con,$query);

    while($row = mysqli_fetch_array($result)){
        if(($row['username'] == $uname_tb) && ($row['password'] == $pass_tb)){
            echo "Login Successful";
            header('Location: dashbord.php');
            exit();
        }else{
            echo "You are not in our database".mysqli_connect_error();
        }
    }
    mysqli_close($con);
?>
1
Blasanka

Versuche dies:

window.location.href = "http://PlaceYourUrl.com";
0
Love Kumar

hoffe das würde helfen:

window.location.href = '/url_after_domain';

0
Abdul Wahed

Für MVC-Entwickler, um einen Browser mit Javascript umzuleiten:

window.location.href = "@Url.Action("Action", "Controller")";
0
Ifeanyilawrence