HELP - AJAX Javascript/PHP
Fermé
Mitch1974
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
6 novembre 2020
-
Modifié le 5 nov. 2020 à 18:11
jordane45 Messages postés 38456 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 mars 2025 - 6 nov. 2020 à 08:09
jordane45 Messages postés 38456 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 26 mars 2025 - 6 nov. 2020 à 08:09
A voir également:
- HELP - AJAX Javascript/PHP
- Telecharger javascript - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Node.js javascript runtime virus ✓ - Forum Virus
- Erreur #125 javascript - Forum Mozilla Firefox
3 réponses
jordane45
Messages postés
38456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2025
4 740
6 nov. 2020 à 08:09
6 nov. 2020 à 08:09
Au passage, voici quelques corrections/améliorations au niveau de ton javascript
Et ton code PHP tel qu'il aurait du être écrit après avoir lu et appliqué les conseils données dans les liens....
jQuery(document).ready(function (){ $('#ajoutjour').click(function (){ var datelundi = $('#datelundi').val(); var datemardi = $('#datemardi').val(); if (datelundi != '' || datemardi != '') { var datas = {'datelundi': datelundi, 'datemardi': datemardi}; $.ajax({ type: 'POST', url: 'addnewjour.php', data: datas, dataType: 'json', // pour dire qu'on veut obtenir la réponse au format JSON success: function (response) { console.log('REPONSE AJAX',response); var RESOK = typeof(reponse.SUCCESS)!='undefined' ? response.SUCCESS : null; var RESKO = typeof(reponse.ERROR)!='undefined' ? response.ERROR: null; if(RESKO ){ alert(RESKO ); return false; } if( REOK ) { console.log(RESOK); $('#datelundi').val(''); $('#datemardi').val(''); $('#datelundi').removeClass('is-invalid'); $('#datemardi').removeClass('is-invalid'); valide('Vos jours sont enregistrés.'); } }, error: function (jqXHR, exception) { console.log('ERREUR AJAX',jqXHR.status,jqXHR.responseText ); alert("Erreur AJAX : Rerder la console pour plus d'infos !"); } }); } else { error('Veuillez noter une journée de la semaine'); $('#datelundi').addClass('is-invalid'); } }); function error(element) { toastr.error(element, 'Attention', { "positionClass": "toast-bottom-center", timeOut: 7000, "closeButton": true, "debug": false, "newestOnTop": true, "progressBar": true, "preventDuplicates": true, "onclick": null, "showDuration": "300", "hideDuration": "1000", "extendedTimeOut": "1000", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut", "tapToDismiss": false }); } function valide(element) { toastr.success(element, 'Merci', { "positionClass": "toast-bottom-center", timeOut: 5000, "closeButton": true, "debug": false, "newestOnTop": true, "progressBar": true, "preventDuplicates": true, "onclick": null, "showDuration": "300", "hideDuration": "1000", "extendedTimeOut": "1000", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut", "tapToDismiss": false }); } });
Et ton code PHP tel qu'il aurait du être écrit après avoir lu et appliqué les conseils données dans les liens....
<?php //affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd try{ $BASE =new PDO('mysql:host=localhost;dbname=test; charset=utf8', 'root', ''); // Activation des erreurs PDO $BASE->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $BASE->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } //récupération PROPRE des variables AVANT de les utiliser $datelundi = !empty($_POST['datelundi']) ? $_POST['datelundi'] : NULL; $datemardi = !empty($_POST['datemardi']) ? $_POST['datemardi'] : NULL; $result = array(); // variable utilisée pour renvoyer les données au JS //Traitement.... if($datelundi && $datemardi) { $sql = 'INSERT INTO jourdelasemaine(datelundi, datemardi, ) VALUES(?, ?)'; $datas = array($datelundi, $datemardi); try{ $req = $BASE->prepare($sql); $result['SUCCESS'] = $req->execute($datas); } catch (Exception $ex) { $result['ERROR'] = $ex->getMessage(); } } else{ $result['ERROR'] = 'Variables POST vides !'; } echo json_encode($result); // on renvoi les données au format JSON exit;
jordane45
Messages postés
38456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2025
4 740
Modifié le 5 nov. 2020 à 20:32
Modifié le 5 nov. 2020 à 20:32
Bonjour,
Déjà.. tu dis avoir codé en JAVA ... mais tu postes dans le forum JAVASCRIPT.
Ton code, d'ailleurs... c'est du JAVASCRIPT ....
JAVA et JAVASCRIPT sont deux langages DIFFERENTS !!
Ensuite, lorsque tu postes du code sur le forum, merci d'utiliser les BALISES DE CODE.
Explications ( à lire entièrement !!!! ) disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Et enfin :
- Tu n'as pas mis la connexion à ta bdd dans ton fichier php
- Vu que tu fais du PDO, penses à gérer correctement les éventuelles erreurs
- Tu ne nous as pas indiqué, si des erreurs s'affichaient dans la console de ton navigateur ( à noter que pour débuguer de l'ajax, je te recommande fortement de passer par FireFox et surtout, pense à activer le debug HXR )
Bon, histoire de déjà corriger ton code PHP,
Commence par Appliquer TOUT ce qui est conseillé ici
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et là
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Reviens nous voir ensuite, avec le code modifié (en tenant compte, donc, de tous les conseils donnés dans les liens que je viens de te passer )
et on verra, si ton souci persiste, à t'aider à corriger.
Déjà.. tu dis avoir codé en JAVA ... mais tu postes dans le forum JAVASCRIPT.
Ton code, d'ailleurs... c'est du JAVASCRIPT ....
JAVA et JAVASCRIPT sont deux langages DIFFERENTS !!
Ensuite, lorsque tu postes du code sur le forum, merci d'utiliser les BALISES DE CODE.
Explications ( à lire entièrement !!!! ) disponibles ici :
https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Et enfin :
- Tu n'as pas mis la connexion à ta bdd dans ton fichier php
- Vu que tu fais du PDO, penses à gérer correctement les éventuelles erreurs
- Tu ne nous as pas indiqué, si des erreurs s'affichaient dans la console de ton navigateur ( à noter que pour débuguer de l'ajax, je te recommande fortement de passer par FireFox et surtout, pense à activer le debug HXR )
Bon, histoire de déjà corriger ton code PHP,
Commence par Appliquer TOUT ce qui est conseillé ici
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
et là
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Reviens nous voir ensuite, avec le code modifié (en tenant compte, donc, de tous les conseils donnés dans les liens que je viens de te passer )
et on verra, si ton souci persiste, à t'aider à corriger.
jordane45
Messages postés
38456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2025
4 740
>
Utilisateur anonyme
5 nov. 2020 à 20:33
5 nov. 2020 à 20:33
Bien vu. Merci.
J'ai corrigé
J'ai corrigé
Mitch1974
Messages postés
3
Date d'inscription
dimanche 26 octobre 2014
Statut
Membre
Dernière intervention
6 novembre 2020
Modifié le 6 nov. 2020 à 00:41
Modifié le 6 nov. 2020 à 00:41
Voici selon le lien reçu
Voici un message d erreur sur l action du bouton inscrire :
jvscript.js:2 POST //monsitetest/client/addnewjour.php 500
send @ jvscript.js:2
ajax @ jvscript.js:2
(anonymous) @ inscriptionjour.php:680
dispatch @ jvscript.js:2
v.handle @ jvscript.js:2
j ai l' impression que le soucis viens du POST AJAX mais je ne vois pas où? Y a t il une autre méthode qu' AJAX pour faire la meme chose?
Merci
<?php try{ $BASE =new PDO('mysql:host=localhost;dbname=test; charset=utf8', 'root', ''); // Activation des erreurs PDO $BASE->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $BASE->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); } ?>
Voici un message d erreur sur l action du bouton inscrire :
jvscript.js:2 POST //monsitetest/client/addnewjour.php 500
send @ jvscript.js:2
ajax @ jvscript.js:2
(anonymous) @ inscriptionjour.php:680
dispatch @ jvscript.js:2
v.handle @ jvscript.js:2
j ai l' impression que le soucis viens du POST AJAX mais je ne vois pas où? Y a t il une autre méthode qu' AJAX pour faire la meme chose?
Merci
jordane45
Messages postés
38456
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
26 mars 2025
4 740
6 nov. 2020 à 07:20
6 nov. 2020 à 07:20
C'est TOUT ton code qu'il faut corriger ET nous montrer.
Là tu n'as mis que ka connexion à la bdd.
Mais le reste... Tu l'as corrigé aussi ?
Là tu n'as mis que ka connexion à la bdd.
Mais le reste... Tu l'as corrigé aussi ?