PHP,jQuery FullCalendar-数组未读取变量
我正在学习FullCalendar,我有一个名为courts.PHP的PHP文件,其中包含事件:“load.PHP”。在load.php中,我试图通过GET插入一个id。目标是让日历只显示法院的事件 以下是我在courts.php中编写事件的方式:PHP,jQuery FullCalendar-数组未读取变量,jquery,fullcalendar,Jquery,Fullcalendar,我正在学习FullCalendar,我有一个名为courts.PHP的PHP文件,其中包含事件:“load.PHP”。在load.php中,我试图通过GET插入一个id。目标是让日历只显示法院的事件 以下是我在courts.php中编写事件的方式: events: 'load.php' load.php包含以下内容: $data = array(); $currentgymid = $_GET['id']; $query = "SELECT * FROM events WHERE g
events: 'load.php'
load.php包含以下内容:
$data = array();
$currentgymid = $_GET['id'];
$query = "SELECT * FROM events WHERE gymID = :gymid ORDER BY id";
$statement = $connect->prepare($query);
$statement->execute(
array(
':gymid' => $currentgymid
)
);
$result = $statement->fetchAll();
foreach($result as $row)
{
$data[] = array(
'id' => $row["id"],
'email' => $row["email"],
'start' => $row["start_event"],
'end' => $row["end_event"]
);
}
echo json_encode($data);
我也尝试过使用会话,但似乎不起作用。但是,直接指定整数效果很好。例如:
array(':gymid' => 46)
编辑:这里有更多的代码。在此之前和之后的任何内容都与load.php无关
var calendar = $('#calendar').fullCalendar({
contentHeight: "auto",
slotMinutes: 120,
slotLabelIntervalDuration: "00:30",
timezone: 'local',
defaultView: 'agendaWeek',
minTime: "<?php echo $open; ?>",
maxTime: "<?php echo $close; ?>",
slotDuration: '00:60:00',
displayEventTime: true,
editable: false,
eventStartEditable: false,
allDaySlot: false,
selectOverlap: false,
timeGridEventMinHeight: 1280,
validRange:{
start: today
},
header:{
left:'prev,next today',
center:'title',
right:''
},
events: 'load.php',
selectable:true,
selectHelper:true,
var calendar=$(“#calendar”).fullCalendar({
内容高度:“自动”,
时差分钟数:120,
slotLabelIntervalDuration:“00:30”,
时区:“本地”,
defaultView:'agendaWeek',
分钟:“,
maxTime:“”,
慢速持续时间:“00:60:00”,
displayEventTime:true,
可编辑:false,
eventStartEditable:false,
全天时段:错,
选择重叠:false,
timeGridEventMinHeight:1280,
瓦利德兰奇:{
开始:今天
},
标题:{
左:'上一个,下一个今天',
中间:'标题',
对:“”
},
事件:“load.php”,
是的,
selectHelper:对,
请尝试更改(在javascript中)
到
然后通过传递您的实际ID来更改“46”(使用如下所示的外部参数)
事件:{
url:'load.php',
方法:“GET”,
外部参数:{
id:“”,
},
老实说,这是可行的。不过我还需要更多的测试。我所做的是:events:'load.php?id='@Doxx21如果你想events:'load.php?id='
那样的话。这将阻止XSS注入,或者将$id
设置为int。很高兴知道你已经朝着正确的方向前进了。祝你愉快@Doxx21谢谢你所有的回复这些家伙。我想这可能是答案。我会在我做更多的编码后确认。顺便说一句,很抱歉代码太乱了。这是给学校的,我们有时间压力,但我稍后会把它修好。
events: 'load.php',
events: 'load.php?id=46',
events: {
url: 'load.php',
method: 'GET',
extraParams: {
id: '<?php echo htmlspecialchars($id, ENT_QUOTES);?>',
},