A voir également:
- Insertion ajax avec PHP
- Insertion sommaire word - Guide
- Touche insertion clavier - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
6 réponses
Mon problème est que ça ne marche pas, aucune insertion ne s'effectue.
Je sollicite votre aide car je ne trouve pas l'erreur
Merci
Je sollicite votre aide car je ne trouve pas l'erreur
Merci
J'ai testé sur Firefox, la console ne me retrouve aucune erreur.
J'ai réutilisé une fonction testée fonctionnelle dans un autre projet.
En cliquant sur mon bouton publier (j'ai ajouté un
affiche bien le
Le problème est que les donnés ne sont pas transmises dans le PHP.
Comment faire ?
Merci
J'ai réutilisé une fonction testée fonctionnelle dans un autre projet.
function insertData(){ var subject=$("#subject").val(); var img_sujet=$("#img_sujet").val(); var datas = {subject:subject,img_sujet:img_sujet}; // AJAX code to send data to php file. $.ajax({ type: "POST", url: "subject.php", //data: datas, data: datas, dataType: "JSON", success: function(data) { $("#message").html(data); $("p").addClass("alert alert-success"); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); }
En cliquant sur mon bouton publier (j'ai ajouté un
onclick) ma fonction
affiche bien le
$("p").addClass("alert alert-success");, donc je pas bien dans le success.
Le problème est que les donnés ne sont pas transmises dans le PHP.
Comment faire ?
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Que contient ton fichier php ?
Il semble qu'il renvoie une réponse : "test"
Mais je ne trouve aucune trace dans le code PHP que tu nous as posté précédemment de ce retour...
De plus applique les consignes donné ton ce lien
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
Il semble qu'il renvoie une réponse : "test"
Mais je ne trouve aucune trace dans le code PHP que tu nous as posté précédemment de ce retour...
De plus applique les consignes donné ton ce lien
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
.
J'ai testé une autre fonction JS
Mon fichier PHP
HTML
Pour la réponse "teste" c'est que je tape dans le texarea de mon form.
Je vais suivre le lien que tu m'a envoyé (dans la journée).
Merci
function insertData(){ var form = $('form').get(0); var formData = new FormData(form); $.ajax({ type : 'POST', url : 'subject.php', data : formData, dataType : 'json', processData: false, contentType: false, success: function(formData) { $("#message").html(formData); $("p").addClass("alert alert-success"); }, error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); } }); }
Mon fichier PHP
require '../connexion.php';//connexion à la base $subject = $_POST['subject']; $date_sujet = date("Y-m-d H:m:s"); $id_user = $_SESSION['id_user']; $timeStamp = time(); $imgSujet = $_FILES['img_sujet']; $sql_insert = "INSERT INTO sujet (id_user, date, texte_sujet) values (:id_user, :date, :texte_sujet)"; $stmt = $pdo->prepare($sql_insert); include 'smiley_encode.php'; $nb = $stmt->execute(array(':id_user'=>$id_user, ':date'=>$date_sujet, ':texte_sujet'=>$subject)); $last_id = $pdo->lastInsertId(); if (!empty($_FILES['img_sujet']['name'])) { $nom_fichier = $_FILES['img_sujet']['name']; $ext = explode('.', $nom_fichier); $ext = strtolower($ext[count($ext) - 1]); $nom_md5 = md5($nom_fichier); $taille = $_FILES['img_sujet']['size']; $type = $_FILES['img_sujet']['type']; $tmp = $_FILES['img_sujet']['tmp_name']; $chemin = utf8_encode(stripslashes($nom_fichier)); $dossier="blog/".$_SESSION['id_user'].''.$timeStamp.''.$last_id.".".$ext.""; if(move_uploaded_file ($_FILES['img_sujet']['tmp_name'][$i], $dossier)) { $img_sujet = $_SESSION['id_user'].''.$timeStamp.''.$last_id.".".$ext; $sql_img_sujet = "INSERT INTO img_sujet (id_sujet, id_user, date, img_sujet) values (:id_sujet, :id_user, :date, :img_sujet)"; $date_img = date("Y-m-d H:m:s"); $stmt=$pdo->prepare($sql_img_sujet); $nb = $stmt->execute(array(':id_sujet'=>$last_id, ':id_user'=>$id_user, ':date'=>$date_img, ':img_sujet'=>$img_sujet)); } } $array = [$_POST['subject'], $_FILES['img_sujet']]; // J'indique au navigateur que je retourne du JSON header('Content-type: application/json'); // Je transforme mon tableau en JSON et je l'imprime dans le body de ma réponse echo json_encode($array);
HTML
<form id="publie" action="subject.php" method="post" enctype="multipart/form-data"> <div class="div_flex"> <div class="col-1 col-sm-1 col-md-1 img-user"> <img src="<?php echo avatar($_SESSION['id_membre']); ?>" class="clipClass"> </div> <div class="col-md-9"> <div class="form-group"> <textarea class="textarea-subject" name="subject" id="subject" rows="3" placeholder="Exprimez-vous, <?php echo membre_prenom($_SESSION['id_membre']); ?>"></textarea> <a class="btn_input"><i class="far fa-image" id="ico_image"></i><span class="name">Photos</span></a> <input type="file" name="img_sujet" id="img_sujet" value="" lang="fr" accept=".jpg,.jpeg,.gif,.png" onchange="loadFile(event)"> </div> </div> </div> <div class="image" id="image"> <img src="" id="output" class="img-fluid" alt=""> <a class="btn_del" onclick="delFile(event)"><i class="fas fa-trash-alt delete" id="trash"></i></a> </div> <div id="testdiv"></div> <hr> <div class="ligne_top"></div> <div> <button type="button" class="btn btn-primary btn-sm publier" id="publier" onclick="insertData()">Publier</button> </div> <p id="message"></p> </form>
Pour la réponse "teste" c'est que je tape dans le texarea de mon form.
Je vais suivre le lien que tu m'a envoyé (dans la journée).
Merci