728x90

jQuery를 이용해서 폼을 처리하기 위해서는, 'submit' 이벤트 리스너를 form 요소에 추가해야 한다.
$("form").on("submit", function() {
    // process form
});

$("form").submit(function(){
    // process form
});

폼 처리를 완전히 jQuery 내에서 한다면, 페이지를 다시 불러오는 것을 방지하기 위해 preventDefault()를 호출해야 한다.

$("form").on("submit", function(e) {
   e.preventDefault(); // 내장된 이벤트를 차단하는 명령
   // process form
});

$("form").submit(function(e){
    e.preventDefault(); 
// 내장된 이벤트를 차단하는 명령
    // process form
});



=== login.php ===

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=yes, width=device-width" />
<title>Login Form</title>
<link rel="stylesheet" type="text/css" href="css/style.css" />
<!-- Include the jQuery library -->
<script src="http://code.jquery.com/jquery.min.js" ></script>
<!--<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>-->
<script type="text/javascript" src="js/login.js"></script>
</head>
<body>
<div class="container">
    <section id="content">
        <form method="post" action="loginChk.php">
            <div>
                <input type="text" name="loginID" placeholder="아이디" required="" id="userid" />
            </div>
            <div>
                <input type="password" name="loginPW" placeholder="비밀번호" required="" id="password" />
            </div>
            <div>
                <input type="submit" value="로그인" />
            </div>
    </form><!-- form -->
    </section><!-- content -->
</div><!-- container -->
</body>

</html>

설명

method="post" 라고 지정한 부분을 생략하면 데이터 전송은 GET방식으로 처리된다. method="get" 이라고 지정해 줄 수도 있다.

GET방식으로 전송하면 URL의 파일명 뒤에 ? 를 명시한 뒤, key 와 value를 쌍으로 구성된 데이터가 포함될 수 있다.

전달할 수 있는 데이터의 총 크기는 1024 bytes 만 허용한다.

127.0.0.1/loginChk.php?loginID=test01&loginPW=1234 처럼 보이므로 보안에 취약하다.

key 인 loginID 는 <input> 태그의 name 속성에 지정한 값이 되고, value 는 <input> 태그의 value 속성값이 사용된다.



==== login.js ===

$(document).ready(function(){
    $("form").submit(function(e){
e.preventDefault(); // 내장된 이벤트를 차단하는 명령
        var loginID = $("#userid").val();
// var loginID = $("input[name='loginID']").val();
        var loginPW = $("#password").val();
 
        if( loginID =='') {
            alert("아이디를 입력하세요");
$("#userid").focus();
            return false;
        } 
        
        if(loginPW =='') {
            alert("패스워드를 입력하세요!");
$("#password").focus();
            return false;
        } 
        
    });

});


==== loginChk.php ===
PHP 5.5 이상에서는
$_POST['loginID'] 를 정확하게 입력해줘야 값을 인식한다.

PHP 버전이 낮은 경우에는 $_POST[loginID] 로 해도 값이 넘어가는데 높은 버전에서는 인식을 못하더라.


<?php
include_once 'dbconnect.php'; // 만드는 방법은 http://link2me.tistory.com/1110 참조
 
$workcode = LoginUserCheck(trim($_POST['loginID']),trim($_POST['loginPW']));
if($workcode == -1) {
    include "index.php";
else {
    // 로그인 후 처리할 내용 코드 입력
}
 
?>


jQuery 아이디 중복체크

http://link2me.tistory.com/1069


PHP 와 jQuery 값 전달이해
http://link2me.tistory.com/1124

블로그 이미지

Link2Me

,