私はこのコードを持っており、mysqlデータベースに挿入する2つの値をテストしている間は何も挿入しません。値が混ざっているのですか、コードにエラーがありますか?ワンプサーバーを使用する。発生する以下のエラー。ajaxフォームを使ってテーブルに挿入する
Undefined index: name in C:\wamp\www\info.php on line 3
Undefined index: desc in C:\wamp\www\info.php on line 4
しかし、私は値で遊んでみて、それを理解することができませんでした。
index.htmlを
<html>
<head><title></title></head>
<body>
<form id="myForm" action="userInfo.php" method="post">
Name: <input type="text" name="name" /><br />
Age : <input type="text" name="age" /><br />
<button id="sub">Save</button>
</form>
<span id="result"></span>
<script src="jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="my_script.js" type="text/javascript"></script>
</body>
</html>
userinfo.php
<?php
include_once('db.php');
$name = $_POST['name'];
$age = $_POST['age'];
if(mysql_query("INSERT INTO user VALUES('$name', '$age')"))
echo "Successfully Inserted";
else
echo "Insertion Failed";
?>
のMyScript一部
$("#sub").click(function() {
$.post($("#myForm").attr("action"),
$("#myForm :input").serializeArray(),
function(info){ $("#result").html(info);
});
});
$("#myForm").submit(function() {
return false;
});
function clearInput() {
$("#myForm :input").each(function() {
$(this).val('');
});
}
更新:はまだありません修正。エラーを取得する:
Notice: Undefined index: name in C:\wamp\www\userInfo.php on line 4
Notice: Undefined index: age in C:\wamp\www\userInfo.php on line 5
Insertion Failed
**危険**:あなたが使用している[** OBS PHPから削除された(http://php.net/manual/en/mysql.php)[olete ** database API](http://stackoverflow.com/q/12859942/19068) [現代的な代替品](http://php.net/manual/en/mysqlinfo.api.choosing.php)を選択する必要があります。あなたは** [SQLインジェクション攻撃](http://bobby-tables.com/)**に対して脆弱です**現代のAPIは、[防御]を容易にします(http://stackoverflow.com/questions/60174/最良の方法からSQLへのPHPインジェクション)をあなた自身から守ってください。 – Quentin
1. HTMLコードで一重引用符と二重引用符を混同しないでください(整理のため)。 2.廃止予定の 'mysql_ *'関数を使用しないでください(代わりにMySQLi/PDOを使用してください)。 3. SQLインジェクション攻撃に注意してください。 – Raptor