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 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 - 6 nov. 2020 à 08:09
jordane45 Messages postés 38353 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 27 décembre 2024 - 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
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
- Node.js javascript runtime virus ✓ - Forum Virus
- Bouton php - Forum PHP
3 réponses
jordane45
Messages postés
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
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
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
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
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
>
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
38353
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
27 décembre 2024
4 719
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 ?