我使用ajax/json將值發送到PHP函數,然後該函數會在頁面上顯示數據。我發送兩個值$hours
和$memberID
,除了我似乎只能檢索$hours
而不是$memberID
。我通過Firebug運行頁面,在javascript頁面上,這兩個變量的值在發送之前正在被讀取。在PHP表單中,我運行了多個條件/ echo語句來打印出兩個值,只有$hours
正在顯示。有任何想法嗎?
PHP:
$result = array();
if(!empty($_POST['hours'])) {
$result['type'] = "success";
$result['memberID'] = (int)$_POST['memID'];
$result['hours'] = (int)$_POST['hours'];
$result = json_encode($result);
echo $result;
}
的Javascript:
//numberofMembers is the total number of entries in the database
function subtractHours(numberofMembers) {
document.body.style.cursor = "wait";
var hours = document.getElementById("hours");
var i = 1;
var studentID;
while(i < numberofMembers) {
studentID = document.getElementById("member"+i);
alert(studentID.value);
if(studentID && studentID.checked) {
$.ajax({
type : 'post',
datatype: 'json',
url : 'hours_subtract.php',
data : {hours : hours.value, memID : studentID.value},
success: function(response) {
if(response == 'success') {
alert('Hours subtracted!');
} else {
alert('Error!');
}
}
});
//$.post("subtract.php", {person: personId, personSalary: personSalary});
}
i++;
}
}
PHP(HTML表單):
echo "<input type='checkbox' name='member{$attNumber}' id='member{$attNumber}' value=$studentID/>$attendees<br />";
編輯:如果我運行一個var_dump($_POST['memberID']);
,它打印出NULL
。如果我運行var_dump($_POST)
,則會打印出array(2) { ["hours"]=> string(1) "1" ["member3"]=> string(8) "5101813/" }
。
編輯:我添加在使用member3
的PHP代碼中。編輯2:這是整個Javascript函數。 PHP代碼就是我用來處理數據的所有東西。
如果你做了'var_dump($ _ POST ['memberID']);'?怎麼樣在'var_dump($ _ POST)顯示什麼;' – helion3
你的SQL查詢在哪裏? –
和你的html表格 – Miguelo