Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework > MVC
MVC Forum de support sur le développement d'applications de type modèle-vue-contrôleur avec Zend Framework ainsi que vos questions sur les plugins, les helpers etc. Avant de poster -> Cours MVC, FAQ ZF Controller
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/11/2007, 16h07   #1
Invité régulier
 
Inscription : mai 2004
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 8
Points : 5
Points : 5
Par défaut pb tuto zend mvc Call to a member function createRow() on a non-object

Salut,

Je bosse sur le tuto zend framework mvc de Guillaume Rossolini
Tout marche bien sauf quand je veux ajouter un titre
en cliquant sur le lien Ajouter un nouvel album:
http://localhost/zf-tutorial/index/ajouter

Voila l'erreur que j'obtiens:
Fatal error: Call to a member function createRow() on a non-object in E:\htdocs\www\zf-tutorial\application\controllers\IndexController.php on line 44

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
    function ajouterAction()
    {
        $this->view->title = "Ajouter un nouvel album";
 
        if ($this->_request->isPost()) {
            Zend_Loader::loadClass('Zend_Filter_StripTags');
            $filter = new Zend_Filter_StripTags();
 
            $artist = $filter->filter($this->_request->getPost('artist'));
            $artist = trim($artist);
            $title = trim($filter->filter($this->_request->getPost('title')));
 
            if ($artist != '' && $title != '') {
                $data = array(
    		     'artist' => $artist,
    		     'title'  => $title,
    		 );
    		 $album = new Album();
    		 $album->insert($data);
 
                $this->_redirect('/');
                return;
            }
        } 
 
        // set up an "empty" album
        $this->view->album = $album->createRow();   //  <-- ligne 44
 
        // additional view fields required by form
        $this->view->action = 'ajouter';
        $this->view->buttonText = 'Ajouter';
    }
Quelqu'un a t-il déjà eu cette erreur?

Merci d'avance!
shopoto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2007, 16h14   #2
Expert Confirmé Sénior
 
Avatar de Baptiste Wicht
 
Homme Baptiste Wicht
Étudiant
Inscription : octobre 2005
Messages : 7 465
Détails du profil
Informations personnelles :
Nom : Homme Baptiste Wicht
Âge : 24
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2005
Messages : 7 465
Points : 16 862
Points : 16 862
Envoyer un message via MSN à Baptiste Wicht
Fais attention !

A cette ligne :

Code :
$this->view->album = $album->createRow();   //  <-- ligne 44
Tu n'es pas sûr que $album soit initialisé... Il faut être passé dans 2 if pour que $album soit initialisé. Donc dans le cas ou on ne passse pas les deux if, c'est normal qu'il y ait une exception...

Comme tu l'emploies à tous les coups, je te conseille de mettre cette ligne :

Au début de la méthode plutôt que dans le if
Baptiste Wicht est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/11/2007, 16h23   #3
Invité régulier
 
Inscription : mai 2004
Messages : 8
Détails du profil
Informations forums :
Inscription : mai 2004
Messages : 8
Points : 5
Points : 5
Wouah chapeau bravo pour ta reactivité!

Ca marche beaucoup mieux maintenant...!
Thank youuuuu!!!


PS: Si tu peut jeter un oeil sur le pb de maj du listing des albums ke j'ai posté juste apres ce super cool!
D'ailleurs j'arrive bien a ajouter un album, mais je dois egalement faire un refresh pour k'il reapparaissent ds la liste...!


Merci d'avance!
shopoto est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h57.


 
 
 
 
Partenaires

Hébergement Web