(私の英語のため申し訳ありません)Ajaxコードが正しく機能していません
私がしたいのは、基本的なデータベースの挿入です。実際に挿入する部分は問題ありません。問題はindex.phpです。挿入後にprocess.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;}
?>
キャプチャを送信する必要はありませんが、クリックのデフォルトのアクションを防ぐ必要があります。 –
**プレーンテキストのパスワードを保存しないでください!**パスワードのセキュリティを処理するには、PHPの[組み込み関数](http://jayblanchard.net/proper_password_hashing_with_PHP.html)を使用してください。 5.5より小さいPHPバージョンを使用している場合、 'password_hash()' [互換パック](https://github.com/ircmaxell/password_compat)を使用することができます。 *** [パスワードをエスケープしない](http://stackoverflow.com/q/36628418/1011527)***を確認するか、ハッシュする前に他のクレンジングメカニズムを使用してください。パスワードを変更すると、パスワードが変更され、不要な追加のコーディングが発生します。 –
あなたの助けとヒントをありがとう –