2013-07-03 3 views
0

제대로 작동하지 내가 파일 index.php에서 양식이이 같은 두 번째 페이지에 게시물 : 밋POST는 MySQL의

<form method="post" id="signupform" name="signupform" action="functions.php"> 
     <label for="user_id">Username:</label><span id="asterix">*</span> <br> 
     <input name="user_id" type="text" id="user_id" required><br><br> 
     <label for="new_password">Password:</label><span id="asterix">*</span> <br> 
     <input name="new_password" type="password" id="new_password" required><br><br> 
     <label for="confirm_password">Confirm password:</label><span id="asterix">*</span> <br> 
     <input name="confirm_password" id="confirm_password" type="password" required><br><br> 
     <label for="new_email">Email:</label><span id="asterix">*</span> <br> 
     <input name="new_email" id="new_email" type="email" required> 
     <input hidden="hidden" name="action" value="signup"> 
     <br><br> 
     <input id="createaccount" type="submit" value="Create account"> 
    </form> 

는 다음과 같이 jQuery를 submitHandler를 통해 이루어집니다 :

   submitHandler: function(signupform) { 
       $(signupform).ajaxSubmit({ 

        target:'#result', 
        success: function(){ 
         $("#result").css("display","block"); 
         $('#box').animate({'top':'-800px'},500,function(){ 
          $('#overlay').fadeOut('fast'); 
          $('#loginmain').hide(); 
         }); 

        } 
       }) 
      } 

결과는 다음과 같은 페이지의 div에 표시됩니다.

<div id="result" class="success_message" style="display: none"></div> 

두 번째 페이지 functions.php에는 div에 표시해야 할 것이 있습니다.

이제 데이터베이스 운영을 위해 db.php라는 세 번째 파일을 만들었습니다. 나는이의 index.php에 db.php를 포함하고 있지만

if (isset($_POST['action']) && $_POST['action'] == "signup") { 
    $user_id  = mysql_real_escape_string($_POST["user_id"]); 
    $new_password = md5(mysql_real_escape_string($_POST["new_password"])); 
    $new_email = mysql_real_escape_string($_POST["new_email"]); 

    $create_account = "INSERT INTO users(username, email, password) VALUES ('" . $user_id . "','" . $new_password . "','" . $new_email . "')"; 
    if($create_account){echo "done";}else echo "failed"; 
    if(mysqli_query($str, $create_account)){ 
     echo "successful insert"; 
    } 
} 

이 쿼리 때문에 실제로 실행되지 않습니다, 그것은 형태가하는 것 같습니다하지 post 제대로 때문에 나는 if 문 후 echo "test"를 넣어 경우, 그것은 표시되지 않지만 action="functions.php"action=""으로 바꾼다면 정상적으로 작동하지만 submithandler은 올바르게 동작하지 않습니다. 당신이 if 문 앞에 PHP 스크립트에 게시 된 값을 확인 했

<input type="hidden" name="action" value="signup"> 

대신

<input hidden="hidden" name="action" value="signup"> 

의 :로

+1

functions.php 파일에 db.php를 포함 시켰습니까? –

+0

오, 나는 그다지하지 않았다! 그게 문제가 해결 .. 고마워요 @ BjornSchijff !! – Suvimo

+0

당신을 환영합니다 :-). –

답변

0

db.php도 functions.php에 포함시켜야 이러한 기능을 사용할 수 있습니다.

+0

다시 한번 감사드립니다 :) – Suvimo

2

당신은 당신의 input 선언에 type=hidden 대신 hidden=hidden를 지정하지 않나요?