とMySQLデータベースに挿入し、私はこのコードで間違って何見当がつかない。私はPHPのエラーが出ていないので、クライアントサイドであると確信していますが、間違っている可能性があります。は、私がここでの問題のいくつかの種類を経験していjQueryとPHP
一度提出されたフォームを取得しようとしていますが、AJAXリクエストを使用してテキストフィールドに含まれる情報をPHPデータベースに挿入しようとしています。私がでてるのはここ
だ:
/* index.php */
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="scripts/ajax.js"></script>
//...
<div class="success" id="success"></div>
<div class="err" id="err"></div>
<!--Create Form-->
<form action="" method="post" name="create" id="createForm" onsubmit="createNew(document.create.create2.value); return false;">
<h5>Create New File</h5>
<p><input name="create2" type="text" maxlength="32" /></p>
<input type="submit" name="submit" value="Create" />
</form>
/* ajax.js */
function createNew(name)
{
$('#loading').css('visibility','visible');
$.ajax({
type: "POST",
url: "../utilities/process.php",
data: 'name='+name,
datatype: "html",
success: function(msg){
if(parseInt(msg)!=5)
{
$('#success').html('Successfully added ' + name + ' into database.');
$('#loading').css('visibility','hidden');
alert('success');//testing purposes
}
else
{
$('#err').html('Failed to add ' + name + ' into database.');
$('#loading').css('visibility','hidden');
alert('fail');//testing purposes
}
}
})
}
/* process.php */
<?
include('db_connect.php');
if($_POST['name'])
{
$name = $_POST['name'];
$name = mysql_escape_string($name);
$query = "INSERT INTO tz_navbar (name) VALUES (".$name.")";
$result = mysql_query("$query") or die ("5");
}
?>
ここに私の問題だ:私は何かを私のフォームを送信した後 、それは成功したと報告したが、何も私のデータベースに追加されませんされます。
は私を助けるために自分の時間を割いて、事前にすべてのいただきありがとうございます。それはそれを修正しない場合は、あなたが確認するために$ _REQUEST
error_log(print_r($_REQUEST,true));
の値をログに記録する必要がある
$query = "INSERT INTO tz_navbar (name) VALUES ('".$name."')";
:
あなたは常に=するmysql_query($クエリ)$結果を試すか(mysql_error())を死ぬことができます。 mysqlのエラーメッセージを取得します。これは、失敗したクエリで何が起きているかを正確に伝えます。 – Wade
セキュリティノートでは、データベースに格納する前に$ nameの値をエスケープしてください。悪意のあるユーザーは、現在書かれているとおり、このクエリを利用することができます。詳細については、PHPのBobby Tablesのエントリを参照してください。http://bobby-tables.com/php.html – calvinf
ご覧のとおり、calvinf。 [$ name = mysql_escape_string($ name);]この部分は文字列をエスケープします。 – user151797