これは、onClickイベントでsetValue()という関数にデータを送信する単純な入力ボタンではなく、RequestforAjaxを呼び出す私のコードです。
これはコード(JS)です:
//ajaxXMLのリクエスト
<script type='text/javascript'>
function callAjax(){
var XMLObj = false;
if(window.XMLHttpRequest)
XMLObj = new XMLHttpRequest();
else if(window.ActiveXObject)
XMLObj = new ActiveXObject('Microsoft.XMLHTTP');
if(!XMLObj)
return false;
return XMLObj;
}
//ajaxobjectハンドルのvar;
var objAjax = callAjax();
function setValue(value, id, num, item){
if(objAjax){
if(objAjax.readyState == 4 || objAjax.readyState == 0){
objAjax.open('POST', 'addview.php', true);
objAjax.send('value=' + val + '&id='+id+'&num='+num+'&item='+item);
}
}
}
//関数に値を送信するための入力setValue();
<input type='button' onClick='setValue(1, 2, 3, 4)' />
//そしてこれは私がphp経由で送信されたデータを処理する場所です
<?php
if(!$_POST['value'] || !$_POST['id'] || !$_POST['num'] || !$_POST['item'])
exit();
include('config.php');
$value = mysql_real_escape_string($_POST['value']);
$id = mysql_real_escape_string($_POST['id']);
$num = mysql_real_escape_string($_POST['num']);
$item = mysql_real_escape_string($_POST['item']);
mysql_query("UPDATE `window` SET window_val = window_val + ".$value." WHERE window_id = '".$id."' AND window_num = '".$num."' AND window_item = '".$item."' ") or die(mysql_error() );
mysql_close($con);
?>
phpスクリプトが機能しているので、データを手動で送信してみました($ _GET [''])。また、alert('value ='+ value +'&id ='+ id ...)でURLを確認しましたが、すべての変数はOKですが、データベースは照会されません。
表示されている場合は、応答用の関数を追加していません。サーバーから応答してください。それらのデータを送信してデータベースにクエリを実行したいだけです。
ありがとうございました !