Fatal error: Uncaught Error: Call to a member function ajoutTicket() on null
Résolu
nilson42
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
nilson42 Messages postés 36 Date d'inscription Statut Membre Dernière intervention -
nilson42 Messages postés 36 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai essayer de rajouter l'insertion d'un ticket(article) mais cela ne marche pas. alors voilà.
j'ai essayer de rajouter l'insertion d'un ticket(article) mais cela ne marche pas. alors voilà.
<?php /** * CLASS APPEL CONTRÔLEUR, C'EST CETTE ACTION QUI VA GÉRER LE RENDU DE NOTRE PAGE D'ACCUEIL. */ namespace App\config; use App\src\controller\BackController; use App\src\controller\FrontController; use App\src\controller\ErrorController; use Exception; class Router { private $_frontController; private $_backController; private $_errorController; /** * instanciation des Controllers et fait un appelle automatique des fonctions */ public function __construct() { $this->_frontController = new FrontController(); $this->_backcontroller = new BackController(); $this->_errorController = new ErrorController(); } /** * // Route une requête entrante : exécution l'action associée */ public function run() { try{ if(isset($_GET['route'])) { if($_GET['route'] === 'ticket'){ $this->_frontController->ticket($_GET['ticketId']); } // route est passée à une méthode appelée ajoutTicket du backController qui prend en paramètre la variable superglobale $_POST elseif($_GET['route'] === 'ajoutTicket'){ $this->_backController->ajoutTicket($_POST); } else{ // aucune action définie : affichage de page 404 + redirect à la page principale $this->_errorController->errorNotFound(); } } else{ $this->_frontController->home(); } } catch (Exception $e) { // aucune action définie : affichage de page 500 + redirect à la page principale $this->_errorController->errorServer(); } } }
class BackController{ private $_view; public function __construct() { $this->_view = new View(); } /** * Méthode qui récupere l'insertion de ticket pour l'user connecté * si formulaire soumis alors on rentre dans la condition et on fait appel à la méthode ajoutTicket de la classe ticketManager, * si contaire on ne rentre pas dans la conditions. * @return string,array */ public function ajoutTicket($post){ if(isset($post['submit'])){ $ticketManager = new TicketManager(); $ticketManager->ajoutTicket($post); header('Location: ../public/index.php'); } //Génère et affiche la vue (nom de page, array) return $this->_view->rendu('add_ticket',['post' => $post]); } }
<?php /** * CLASS GESTIONS GLOBALE DES TICKETS */ namespace App\src\Manager; use App\src\model\Ticket; class TicketManager extends Manager { //etc.... /** * Méthode qui gere l'insertion de ticket * @return array $ticket */ public function ajoutTicket($ticket){ //Permet de récupérer les variables $title, $content et $author extract($ticket); $sql = 'INSERT INTO ticket (title, content, author, createdAt) VALUES (?, ?, ?, NOW())'; $this->createQuery($sql, [$title, $content, $author]); } //etc.... }
Configuration:
Quant j'appui sur le lien :
<a href="../public/index.php?route=ajoutTicket">Nouvel Ticket</a>
Fatal error: Uncaught Error: Call to a member function ajoutTicket() on null
Windows / Chrome 80.0.3987.122
Quant j'appui sur le lien :
<a href="../public/index.php?route=ajoutTicket">Nouvel Ticket</a>
Fatal error: Uncaught Error: Call to a member function ajoutTicket() on null
Windows / Chrome 80.0.3987.122
A voir également:
- Call to a member function on null php
- Fan error lenovo - Forum Refroidissement
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Whea error occt - Forum Processeur
- Error 1962 ✓ - Forum PC fixe
3 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, le message d'erreur ne te donne aucune information supplémentaire?