我想將fullcalendar整合到我的PHP應用程序中。POST變量沒有提交從jQuery到PHP的日期
但是,我有問題將它們保存到數據庫,數據庫不接受標題和URL,除非它們在雙引號中。
開始日期和結束日期仍爲NULL。所以當我刷新數據的時候,我們用開始和結束時間元素的空值添加到數據庫中。這引起了關注,因爲當我刷新頁面時,所有事件從日曆中消失,當它們仍然在數據庫。
當我調整新插入事件的空變量的值時,所有事件再次出現。
這是default.html中的ajax調用。
selectable: true,
selectHelper: true,
select: function(start, end, allDay) {
var title = prompt('Event Title:');
var url = prompt('Type Event url, if exits:');
if (title) {
var start = $.fullCalendar.moment(start);
var end = $.fullCalendar.moment(end);
console.log("Event Triggered");
$.ajax({
url: 'add_events.php',
data: 'title='+ encodeURIComponent(title)+
'&start='+ encodeURIComponent(start)+
'&end='+ encodeURIComponent(end)+
'&url='+ encodeURIComponent(url),
type: "POST",
dataType: 'text',
success: function(json) {
alert('Added Successfully');
},
error: function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
});
calendar.fullCalendar('renderEvent',
{
title: title,
start: start,
end: end,
url:url,
allDay: allDay
},
true // make the event "stick"
);
}
calendar.fullCalendar('unselect');
}
這是add_events.php(請注意,這沒有任何錯誤,只是它不接受郵寄)。
<?php
// Values received via ajax
$data = $_POST;
$json_array["title"]=json_decode($data["title"], true);
$json_array["start"]=json_decode($data["start"], true);
$json_array["end"]=json_decode($data["end"], true);
$json_array["url"]=json_decode($data["url"], true);
$title =$json_array["title"];
$start =$json_array["start"];
$end = $json_array["end"];
$url = $json_array["url"];
// connection to the database
try {
$bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', '....', '.......');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
$sql = 'INSERT INTO `evenement` (`title`,`start`,`end`,`url`) VALUES(?, ?, ?, ?)';
$stmt = $pdo->prepare($sql);
$stmt->execute(array($title, $start, $end, $url));
// check for errors
if($stmt->errorCode() == 0) {
$id = $pdo->lastInsertId();
}
else {
// had errors
$errors = $stmt->errorInfo();
print_r($errors);
}
?>
任何幫助,怎麼會實現,將不勝感激。
主文件(default.html中)的標題是這樣的:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<link href='css/fullcalendar.css' rel='stylesheet' />
<link href='css/fullcalendar.print.css' rel='stylesheet' media='print' />
<script src='js/moment.min.js'></script>
<!--<script src='js/jquery.min.js'></script>-->
<script src='js/fullcalendar.min.js'></script>
但POST不適合投放日期: - 我這樣說是因爲我改變了所有的字段允許NULL,但比它確實允許NULL並在數據庫中創建一個NULL,NULL,NULL,NULL條目。
第一件事:你有沒有在你的web控制檯中看過ajax調用,以確保值實際上被傳遞? – dgig
@dgig 他們正在通過..控制檯顯示,它來'FormatData' –