[AJAX] Récupération de la valeur d'un $_GET
Bonjour,
j'ai créé un calendrier avec le plugin jQuery FullCalendar.
J'utilise la version "drag & drop" du calendrier.
Quand je drag un évènement sur mon calendrier, j'appelle une page php qui exécute une requête mysql.
Lors de mon appel, je fais un $_GET qui contient une date (au format à rallonge : date, format, ville indiquant le GMT ...).
Dans ma base de données, il faut que j'enregistre l'évènement avec sa date (donc ce qu'il y a dans le $_GET).
Sauf que ça ne fonctionne pas !
Et le problème est plus précis :
- cela fonctionne quand je mets une chaîne de caractères dans ma variable ou même quand j'appelle la fonction date() de php
- mais quand je veux juste récupérer mon $_GET['date'], ça ne fonctionne pas.
Voici mon code (problème vers le bas) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay'
},
editable: true,
events: "json-events.php",
eventDrop: function(event, delta) {
alert(event.title + ' was moved ' + delta + ' days\n');
},
droppable: true, // this allows things to be dropped onto the calendar !!!
drop: function(date, allDay) { // this function is called when something is dropped
// retrieve the dropped element's stored Event Object
var originalEventObject = $(this).data('eventObject');
// we need to copy it, so that multiple events don't have a reference to the same object
var copiedEventObject = $.extend({}, originalEventObject);
// assign it the date that was reported
copiedEventObject.start = date;
copiedEventObject.allDay = allDay;
// render the event on the calendar
// the last `true` argument determines if the event "sticks" (http://arshaw.com/fullcalendar/docs/event_rendering/renderEvent/)
$('#calendar').fullCalendar('renderEvent', copiedEventObject, true);
// is the "remove after drop" checkbox checked?
if ($('#drop-remove').is(':checked')) {
// if so, remove the element from the "Draggable Events" list
$(this).remove();
}
// PROBLEME ICI
$.ajax({
type: 'GET',
data: 'date='+date,
url: 'movedate.php?date='+date,
success: function(html) {
alert('Message de retour : ' + date); // La date a été mise à jour, l'alert affiche bien la date
}
});
}
});
}); |
Et mon code php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
<?php
if(isset($_GET['date']))
{
$date = 'mon get reussi';
// $_GET['date'] ne fonctionne pas
}
else $date = date("Y m d");
$req = "UPDATE matable SET monchamp = 'blablabla $date' WHERE monchamp = '123'";
$res = mysql_query($req);
?> |
monchamp est un champ texte.
Tout passe bien dans mon if() mais si je mets $date = $_GET['date']; plus rien ne change dans ma base.
Et je ne vois pas bien pourquoi j'ai ce comportement ...
De plus, j'ai ajouté dans l'url (dans le javascript) : ?date+date alors que c'est ce que j'ai dans data au dessus. Donc peut-être inutile ou mal écrit ?
Si vous pouviez m'aider ^^