Récupérer les données postées via ajax en php impossible
Bonjour,
Je souhaite récupérer mes données pour le traitement vers ma base via ajax alors je fais comme ça:
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
|
//ENREGISTREMENT
function enregistrement(){
var donnees = new FormData();
var ajax = new XMLHttpRequest();
var titre = $('#titre').val();
var description = $('#description').val();
if( $('input[name=posted]').is(':checked') ){
donnees.append('posted' , 1 );
}
else{
donnees.append('posted' , 0 );
}
donnees.append('titre', titre );
donnees.append('description', description );
var msg_erreur_titre = "<div id=\"conteneurCarte\"><div id=\"card_4\" class=\"card\"><div class=\"card-content red white-text col s12 m12 l12\"><i class=\"material-icons left\">report_problem</i>Vous devez renseigner le titre !</div></div></div>";
var msg_erreur_description = "<div id=\"conteneurCarte\"><div id=\"card_5\" class=\"card\"><div class=\"card-content red white-text col s12 m12 l12\"><i class=\"material-icons left\">report_problem</i>Vous devez renseigner la description !</div></div></div>";
if(titre === ''){
$('#erreur_titre').html(msg_erreur_titre);
$('#titre').attr("placeholder", "Saisissez le titre à cet emplacement...").val("").focus().blur();
$("#conteneurCarte").css("display","block");
$("#card_4").animate({"left":"0"},800);
}
else if(description === ''){
$('#erreur_description').html(msg_erreur_description);
$('#description').attr("placeholder", "Saisissez la description à cet emplacement...").val("").focus().blur();
$("#conteneurCarte").css("display","block");
$("#card_5").animate({"left":"0"},800);
}
else {
ajax.open("POST","fonctions/ajout.func.php");
ajax.send(donnees);
//document.location.href="index.php";
}//else
}//function |
et je les récupère de cette façon:
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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
// ENREGISTREMENT DE LA FICHE
function enregistrement(){
include 'connexion.php';
// Si le formulaire est bien posté et que les champs ne sont pas vides
/*Provisoire*/
//if (!empty($_FILES)){
if (isset($_POST['envoyer'],$_POST['titre'],$_POST['description']) && !empty($_POST['titre'] && !empty($_POST['description']))){
/*Provisoire*/
$titre = htmlspecialchars(trim($_POST['titre']));
$description = htmlspecialchars(trim($_POST['description']));
/*$titre = htmlspecialchars(trim($_SESSION['mon_tableau'][0]));
$description = htmlspecialchars(trim($_SESSION['mon_tableau'][1]));*/
// Si pas d'erreur (donc si il y a une image)
if(isset($_FILES['fichier']) && $_FILES['fichier']['error'] == 0){
$chemin_photo = $_SESSION['image'];
}
// Si erreur (donc si pas d'image)
else{
unset ($_SESSION['image']);
$chemin_photo = "defaut.png";
}
// La case à cocher
if ($_POST['posted'] == 1)
$posted = '1';
else
$posted = '0';
try{
#Requête préparée pour l'insertion
$req = $bdd->prepare('INSERT INTO progressbar(titre, description, chemin_photo, posted) VALUES(:titre, :description, :chemin_photo, :posted)');
$req->execute(array(
'titre' => $titre,
'description' => $description,
'chemin_photo' => $chemin_photo,
'posted' => $posted
));
}
catch(Exception $e){
// en cas d'erreur :
echo " Erreur ! ".$e->getMessage();
echo " Les données : " ;
print_r($req);
}
$req->closeCursor(); // Termine le traitement de la requête
header('location:../index.php?page=accueil');
}//if
/*else{
echo "<div id=\"conteneurCarte\">
<div id=\"card_3\" class=\"card\">
<div class=\"card-content red white-text col s12 m12 l4\">
<i class=\"material-icons left\">report_problem</i>
Veuillez renseigner tous les champs !
</div>
</div>
</div>";
}*/// else
}/ |
Dans l'onglet POST du débogueur, je vois bien mes données qui apparaissent mais mon traitement ne se fait pas.
Je vous remercie de votre aide.