it-swarm.dev

자바 스크립트를 사용하여 한 페이지에서 다른 페이지로 이동하는 방법은 무엇입니까?

사용자가 유효하면 관리자 페이지에서 브라우저는 다른 페이지로 이동해야합니다.

사용자가 자신의 사용자 이름과 비밀번호를 입력 한 후 확인 버튼을 클릭하면 다른 페이지가 표시되고 로그인 페이지가 자동으로 닫힙니다.

JavaScript로 어떻게 할 수 있습니까?

62
SIVAKUMAR.J

자바 스크립트를 사용하여 브라우저를 리디렉션하려면 :

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

양식 (예 : 로그인 정보)을 리디렉션하고 제출하려면 자바 스크립트가 필요하지 않습니다.

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

cannot 클라이언트 측 JavaScript에 의존하여 사용자 자격 증명이 올바른지 확인할 수 없습니다. 브라우저 (및 그것을 실행하는 모든 코드)는 사용자가 아닌 사용자의 통제하에 있으므로 신뢰할 수 없습니다.

사용자 이름과 비밀번호는 양식을 사용하여 입력해야합니다. 확인 버튼은 제출 버튼이됩니다. 조치 속성은 신임 정보를 확인하는 프로그램에서 처리 할 URL을 가리켜 야합니다.

이 프로그램은 JavaScript로 작성 될 수 있지만 사용 방법은 사용중인 서버 측 JavaScript 엔진 에 따라 다릅니다. SSJS는 주류 기술이 아니므로 실제로 사용하려면 전문 호스팅을 사용하거나 자체 서버를 관리해야합니다.

(반년 후 SSJS는 Node.js 덕분에 훨씬 더 일반적이지만 여전히 상당히 전문화되어 있습니다).

나중에 리디렉션하려면 프로그램에서 HTTP Location header 를 내 보내야합니다.

개인 페이지를 출력하기 전에 자격 증명이 정상인지 확인해야합니다 (일반적으로 실제 비밀번호가 아닌 토큰을 쿠키에 저장하여). 그렇지 않으면 누구나 URL을 알고 로그인 시스템을 우회하여 개인 페이지로 이동할 수 있습니다.

9
Quentin

사용자가 자바 스크립트에서 관리자인지 확인하면 누구나 자바 스크립트 코드를 볼 수 있기 때문에 문제가 발생합니다. 서버는 로그인 프로세스 후에 관리자와 일반 사용자의 차이점을 알려주고 그에 따라 새 페이지를 생성해야합니다.

어쩌면 그것은 당신의 질문에 대답하기 위해 당신이하려는 것이 아닐 수도 있습니다.

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

이 시도,

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

여기 sample.html는 다음 페이지입니다. 다음 페이지로 이동합니다.

5
Vinay Podili

내가 얻는 올바른 해결책은

<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>

여기에 새로운 URL은 작은 따옴표 안에 있습니다.

4
SIVAKUMAR.J

더 쉬운 방법은 window.location.href = "http://example.com/new_url";

그러나 사용자 이름과 비밀번호가 비어 있는지 여부를 확인하고 JavaScript를 사용하지 않는지 확인하고 PHP로 보내 데이터베이스의 사용자 여부를 확인하려면 어떻게해야합니까? 이 코드에 따라 쉽게 수행 할 수 있습니다.

html 형식-

<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>

자바 스크립트 유효성 검사-

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;
    }
}

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

이 시도:

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

이것이 도움이되기를 바랍니다.

window.location.href = '/url_after_domain';

0
Abdul Wahed

MVC 개발자의 경우 javascript를 사용하여 브라우저를 리디렉션하려면 다음을 수행하십시오.

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