我想将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' –