[RESOLU] bizarrerie undefined variable

Petit nouveau ! | 2 Messages

04 oct. 2019, 14:34

Bonjour,

J'appréhende que ça ne soit rien d'autre qu'une inattention de ma part, mais, vu que j'ai beau tout décortiquer et que je ne trouve pas d'explication, je vous soumets le problème :

soit la condition suivante :

Code : Tout sélectionner

if ((isset($_POST['selectTarifKm']) OR isset($_POST['selectTarifSejour'])) && (isset($_POST['dateTrajet']) && !empty($_POST['dateTrajet'])) && (isset($_POST['selectTrajet']) && !empty($_POST['selectTrajet']))) { if (isset($_POST['addTravel'])){ $lastIdRequest = checkLastIdRequest(); // dernier id de la table request ou vide si premier request print_r($lastIdRequest); if (empty($lastIdRequest) || ($lastIdRequest['tag_oc'] === 1)){ insertNewRequest(); insertTravel(); } else { insertTravel(); } } } require_once "./View/travels.view.php";
Qui engendre l'erreur suivante :

Array ( [0] => Array ( [id_request] => 1 [date_request] => 2019-10-04 [status_request] => 0 [tag_oc] => 1 ) )
Notice: Undefined index: tag_oc in E:\Xampp\htdocs\Projets\Dev\EPIConting\Controller\controller.php on line 72

Notice: Undefined variable: lastIdRequest in E:\Xampp\htdocs\Projets\Dev\EPIConting\Model\manager.mod.php on line 76

Comme vous pouvez le constater ma variable lastIdRequest renvoyée par une fonction (de ma partie model) est bien remplie. Ainsi que l'attribut tag_oc alors que juste en dessous de mon print_r il me dit qu'elle n'est pas définie.

La requête testée directement dans phpmyadmin est bonne.

Edit : en me relisant, et c'est souvent comme ça, je m'aperçois que même si ma requête ne possède qu'un seul enregistrement et que j'ai utilisé l'indice du tableau, je devrais peut être le parcourir avec un foreach, je vais donc tester ça :-)

Edit2 : C'était ça, quand je vous disais que l'inattention parfois .... Merci quand même, car c'est le fait de l'avoir exposé qui a mis en lumière la solution. Je laisse à toutes fins utiles