PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : MySQL, PostgreSQL, etc... » [Résolu] Mon POST n'aime pas le DELETE » 24-11-2015 20:04:18

Whow, merci c'est tellement simple que j'en ai honte.
Certainement la fatigue, le projet commence à être long.

Merci beaucoup et bonne soirée.

#2 MySQL, PostgreSQL, etc... » [Résolu] Mon POST n'aime pas le DELETE » 24-11-2015 20:04:18

Alfi
Réponses : 6

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à :

//si on est dans le cas d'une suppression de société
if(isset($_POST['societyIdSuppr']) && !empty($_POST['societyIdSuppr'])){
  if(is_numeric($_POST['societyIdSuppr'])){
  $myId = $_POST['societyIdSuppr'];
  //on commence par virer toutes les relations avec la société
  $delElem = myQuery('DELETE FROM proisls_society_elem WHERE elem_society = "$myId"');
  if($delElem)
    $delSoc = myQuery('DELETE FROM proisls_society WHERE society_id = "$myId"');
    if($delSoc)
      echo "Success!";
  }
  else return false;
}

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) :

if(isset($_POST['societyIdSuppr']) && !empty($_POST['societyIdSuppr'])){
  if(is_numeric($_POST['societyIdSuppr'])){
  //on commence par virer toutes les relations avec la société
  $delElem = myQuery('DELETE FROM proisls_society_elem WHERE elem_society = "2"');
  if($delElem)
    $delSoc = myQuery('DELETE FROM proisls_society WHERE society_id = "2"');
    if($delSoc)
      echo "Success!";
  }
  else return false;
}

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.

Pied de page des forums

Propulsé par FluxBB