jQuery导致我的PHP崩溃

时间:2012-10-08 11:00:11

标签: php jquery variables post

我正在开发一个在线预订系统,所以我有一个PHP脚本,它接收一个日期,并将输出一系列可能的时间段,这些时间段在该日期是免费的。我正在努力使它在关闭datepicker时将变量发送到文件并检索结果。目前,提交按钮也会导致php文件,并在我选择日期时显示可用的插槽。 php部分有效,但是当我向datepicker添加事件时,它不会向php文件提交任何变量。我认为这也是我添加另一个负载时的原因。('input_date.php');我得到了if(isset)引起的完整时间段列表...任何人都可以告诉我为什么jQuery会破坏我的变量发布?提前感谢..

$(document).ready(function() {
    $("#dates").load('input_date.php');
    $("#datepicker").datepicker({onClose: function() { 
    $.post("input_date.php", $('#datepicker').serialize()); 
    alert(1);


    }});

});

这是php文件:

<?php
include('connection.php');
error_reporting(0);
$treatment = $_POST['treatment'];
$bookdate = $_POST['bookdate'];
if(isset($treatment) && isset($bookdate)){

$exp = explode("-", $bookdate);

//determine what day of the week it is
$timestamp = mktime(0,0,0,$exp[1],$exp[0],$exp[2]);
$dw = date( "w", $timestamp); // sun0,mon1,tue2,wed3,thur4,fri5,sat6
echo $dw."weekday"; //week day 
echo"<br/>";

//find bookings with same date
$q = mysql_query("SELECT BOOK_SLOT_ID FROM BOOKINGS WHERE BOOK_DATE='$bookdate'");
//make array of booking slots
$array1 = array();
while ($s = mysql_fetch_array($q)) {
 $array1[] = $s['BOOK_SLOT_ID'];
}
$q2 = mysql_query("SELECT SL_ID FROM SLOTS");
//make array of all slots
$array2 = array();
while ($s2 = mysql_fetch_array($q2)) {
$array2[] =  $s2['SL_ID'];
}

//remove bookings from all slots
$arr_res = array_diff($array2, $array1);

//make selectable options of results
echo "<SELECT>";
foreach($arr_res as $op){
$r = mysql_query("SELECT SL_TIME FROM SLOTS WHERE SL_ID='$op'");
$q3 = mysql_fetch_array($r);
echo "<OPTION value=".$op.">".$q3['SL_TIME']."</OPTION>";
}
echo "</SELECT>";
}else{
$else = mysql_query("SELECT * FROM SLOTS");
echo "<SELECT>";
while($array_else = mysql_fetch_array($else)){
echo "<OPTION value=".$array_else['SL_ID'].">".$array_else['SL_TIME']."</OPTION>";
}
echo "</SELECT>";
}

?>

1 个答案:

答案 0 :(得分:0)

我相信这是因为你有这行代码:

$('#datepicker').serialize()

这应该更改为表格的id而不是datapicker。在你的PHP中,你试图获得两个独立的值:

$treatment = $_POST['treatment'];
$bookdate = $_POST['bookdate'];

现在你只是发送输入字段#datepicker的值。