Vous n'êtes pas identifié(e).
Bonjour à tous,
après m'être arraché les cheveux à trouver l'origine d'un traitement ajax qui réussissait mais qui ne semblait pas marcher côté DB. J'ai pu cibler aujourd'hui la zone de code PHP qui ne fonctionne pas comme elle le devrait.
Ajax transmet un ID a un fichier PHP contenant ce code là :
Ajax récupère bien son "Success!" et tous mes espions ne m'indiquent pas d'erreur SQL (chaque étape est surveillée). Or aucun DELETE n'est effectué en DB, si je recharge ma page où JS a pris soin de supprimer l'élément, il réapparait aussitôt.
Par contre, ce code qui reprend en brut l'ID de ma suppression fonctionne (c'est le même, avec l'ID directement collé dans les requêtes) :
J'ai 5 ans de PHP dans les pattes et j'ai jamais vu ça, je ne sais même pas comment débuguer. Est-il possible que le POST soit numérique, que mes logs m'affichent "2" jusqu'à la requête mais que la variable ne soit pas prise en compte ?
Ca sent l'erreur IFC à plein nez mais je pense avoir besoin d'aide.
Merci à tous. N'oubliez pas de remercier vos cerveaux après avoir trouvé la solution.
Bonne journée à tous.
Dernière modification par Alfi (19-09-2015 19:28:59)
Hors ligne
$delElem = myQuery("DELETE FROM proisls_society_elem WHERE elem_society = '$myId'");
Comme ça, ça suffit
a++
Hors ligne
Salut,
Vu que myId est de type numérique ET décimal, $delElem = myQuery("DELETE FROM proisls_society_elem WHERE elem_society = $myId"); est encore plus simple et évite les conversions de type implicites.
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
^^
Il faut toujours contrôler le contenu des variables reçues.
Ici un $myID=intval($_POST['societyIdSuppr']); suffi.
++
PS: Si la variable numérique est supérieure à un entier PHP, il faut passer par un preg_match_all('#[0-9]#',$myID);
Dernière modification par Jc (24-11-2015 21:15:39)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne