2016-09-29 3 views
0

(영어, 죄송합니다).Ajax 코드가 제대로 작동하지 않습니다.

내가하고 싶은 것은 기본 데이터베이스 삽입입니다. 실제로 삽입 부분이 잘 작동합니다. 삽입 후 process.php가 index.php로 리다이렉트됩니다.하지만 같은 페이지에 머물러 있어야하며 모든 필드를 지워야합니다. 잘못하고있다.

이 index.php에이은 site.js

$("#submit").click(function() { 

    $.post($("#myForm").attr("action"), 
     $("#myForm :input").serializeArray(), 
     function(info) { 

      $("#ack").empty(); 
      $("#ack").html(info); 
      clear(); 
     }); 

    $("#myForm").submit(function() { 
     return false; 
    }); 
}); 

function clear() { 

    $("#myForm :input").each(function() { 
     $(this).val(""); 
    }); 

} 

입니다

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title</title> 

</head> 
<body> 
<form action="process.php" id="myForm" method="post"> 
    UserName <input type="text" name="uname"><br> 
    Pass <input type="text" name="pass"><br> 
    FirstName <input type="text" name="fname"><br> 
    LastName <input type="text" name="lname"><br> 
    <button id="submit" value="register"></button> 


</form> 
<div id="ack">Ack</div> 
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.2.min.js"></script> 
<script type="text/javascript" src="site.js"></script> 
</body> 
</html> 

파일이며, 이것은 당신이 이런 식으로 시도

<?php 
require("config.php"); 
$uname =$_POST["uname"]; 
$pass = $_POST["pass"]; 
$fname = $_POST["fname"]; 
$lname = $_POST["lname"]; 

$insert=$db->prepare("insert into users (uname,pass,fname,lname) values(?,?,?,?)"); 
$insert->bind_param("ssss",$uname,$pass,$fname,$lname); 
if($insert->execute()){ 
    echo "ok"; 
} 
else 
{$db->error;} 

?> 
+0

캡처 제출을 할 필요가 없지만 클릭의 기본 동작을 방지해야합니다. –

+0

** 일반 텍스트 비밀번호를 저장하지 마십시오! ** PHP의 [내장 함수] (http://jayblanchard.net/proper_password_hashing_with_PHP.html)를 사용하여 비밀번호 보안을 처리하십시오. 5.5보다 작은 PHP 버전을 사용하고 있다면'password_hash()'[compatibility pack] (https://github.com/ircmaxell/password_compat)을 사용할 수 있습니다. *** [암호를 잊지 마세요] (http://stackoverflow.com/q/36628418/1011527) *** 또는 해싱을하기 전에 다른 클렌징 메커니즘을 사용하십시오. 이렇게하면 암호가 변경되어 불필요한 추가 코딩이 발생합니다. –

+0

도와 주셔서 감사합니다. –

답변

0

를 삽입하기위한 것입니다;

$("#myForm").submit(function() { 
    return false; 
    }); 

$("#submit").click(function() { 

$.post($("#myForm").attr("action"), 
    $("#myForm :input").serializeArray(), 
    function(info) { 

     $("#ack").empty(); 
     $("#ack").html(info); 
     clear(); 
    }); 
}); 

function clear() { 

    $("#myForm :input").each(function() { 
     $(this).val(""); 
    }); 
} 
+0

도와 주셔서 감사합니다. –

+0

전혀 아닙니다. 터키에서 인사드립니다 :) –

관련 문제