Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zend Framework PHP Discussion :

Erreur avec le Tutoriel D�buter avec Zend Framework


Sujet :

Zend Framework PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 37
    Par d�faut Erreur avec le Tutoriel D�buter avec Zend Framework
    Lors de l'appel a cette vue: C:\Program Files\EasyPHP 2.0b1\www\zf-tutorial\application\views\scripts\index\ajouter.phtml

    J'ai cette erreur:
    The requested URL /zf-tutorial/index/ajouter was not found on this server.

    L'URL est le suivant http://localhost/zf-tutorial/index/ajouter

    J'ai suivit a la lettre le Tutoriel par Rob Allen Guillaume Rossolini.

    Mon installation est:
    Win XP
    ZendStudio
    EasyPHP 2.0b1 (Apache 2.2.3 - PHP 5.2.0 - MySQL 5.0.27)

    Je joint mes sources.

    Selon la doc officiel du Framework, le chemin (application\views\scripts\index) semble OK. Je ne comprend plus !!!

    Merci de votre aide.

    Michel Turcotte
    Fichiers attach�s Fichiers attach�s

  2. #2
    Membre exp�riment�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    171
    D�tails du profil
    Informations personnelles :
    �ge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 171
    Par d�faut
    Bonjour,

    Tu ne peux pas appeler une vue directement, tu dois passer par une action d'un controleur, et c'est lui qui va appeler la vue n�cessaire.

    Si toutefois tu souhaite quand m�me appeler directement ta vue (� des fin de d�bogage ou autre...) tu dois exclure l'extension .phtml de la liste des extensions redirig�es vers le index.php dans le .htacccess.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 37
    Par d�faut
    Salut Aurelpitiless,

    Oui, ca me semble logique. Mais comment expliques tu que j'ai la m�me erreur quand je passe par le contr�leur? L'indexAction fonctionne parfaitement mais l'ajoutAction, fonctionne pas. Il me donne l'erreur mentionner plus haut.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    <?php
    class IndexController extends Zend_Controller_Action
    {
    function init()
    {
    $this->view->baseUrl = $this->_request->getBaseUrl();
    Zend_Loader::loadClass('Album');
    }
    function indexAction()
    {
    $this->view->title = "Mes albums";
    $album = new Album();
    $this->view->albums = $album->fetchAll();
    }
    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();;
     
    // additional view fields required by form
    $this->view->action = 'ajouter';
    $this->view->buttonText = 'Ajouter';
    }


    M�me si je met le code d'ajoutAction identique a indexAction, j'ai les m�mes r�sultats.

    As tu une id�e?

    Merci

    Michel

  4. #4
    Membre �m�rite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par d�faut
    peu �tre as tu oublier d'indiquer le chemin dans l'index.php, sans cette d�finition de route le moteur zend ne peu pas savoir quelle vue et quel controleur choisir.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 37
    Par d�faut
    Salut ascito,

    Ma connaissance de la chose, me dit que nous avons pas le choix du path pour les vues, ils doivent �tre dans ce rep: "\application\views\scripts\".

    Le controleur est bien d�finit ici dans le fichier .\zf-tutorial\index.php:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
     // setup controller
     $frontController = Zend_Controller_Front::getInstance();
     $frontController->throwExceptions(true);
     $frontController->setBaseUrl('/mysubdir/zf-tutorial/');
     $frontController->setControllerDirectory('./application/controllers');
    Je me trompe? C'est pourtant ce que dit le le tutorial!

    Merci

    Michel

  6. #6
    Membre �m�rite

    Profil pro
    Inscrit en
    Juin 2007
    Messages
    748
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 748
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $router = new Zend_Controller_Router_Rewrite();
     
    $cmtRoute = new Zend_Controller_Router_Route(
        "comment/:action/:comment",
        array(  "comment"=>null,
                "controller"=>"comment",
                "action"=>"display"
        )
    );
    $router->addRoute("comment",$cmtRoute);
    en fait si nous parlons du m�me tuto, (et donc de la version de la m�me techno), une route se d�fini � cet endroit, et justifie le routage du site. Expliquons : si l'url ne correspond pas � une route d�fini, alors la page par d�fault sera affich�

  7. #7
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    94
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 94
    Par d�faut
    J'ai �galement une erreur dans cette fonction :

    Notice: Undefined variable: album in F:\Site Web\xampp\htdocs\zf-tutorial\application\controllers\IndexController.php on line 43

    Fatal error: Call to a member function createRow() on a non-object in F:\Site Web\xampp\htdocs\zf-tutorial\application\controllers\IndexController.php on line 43

    42. // set up an "empty" album
    43. $this->view->album = $album->createRow();

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 37
    Par d�faut
    Salut ascito,

    Je ne crois pas qu'on parle de la m�me chose. D�sol�.

    J'ai toujour pas trouver le probl�me.

    Salut PseT34,

    Tu es plus loin que moi dans la doc non? Tu as pas euce probl�me en amont? Tu as �t� capable dans une �tape pr�c�dente de faire un ajout?

    @+

    Michel

  9. #9
    Membre confirm�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    94
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 94
    Par d�faut
    Non je n'ai pas eu l'erreur que tu rencontres.

    La modification fonctionne, mais pas l'ajout, j'ai cette Notice + l'erreur.

    Je ne comprend pas pourquoi!

  10. #10
    Membre habitu�
    �tudiant
    Inscrit en
    Janvier 2008
    Messages
    10
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par d�faut salut a tous
    Je viens de commencer avec le tutorial "Debuter avec les Zend framework" de Rob Allen, et j' ai le meme probleme que turtcom. J'aimerai savoir comment vous avez resolu ce probleme?Merci.

  11. #11
    Membre averti
    Inscrit en
    Ao�t 2007
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2007
    Messages : 18
    Par d�faut
    Citation Envoy� par azizmahamat Voir le message
    Je viens de commencer avec le tutorial "Debuter avec les Zend framework" de Rob Allen, et j' ai le meme probleme que turtcom. J'aimerai savoir comment vous avez resolu ce probleme?Merci.
    Moi aussi j'ai le m�me probl�me, je me demande si c de la version du framework
    j'utilise la 1.0.3 et c'est �cris sur le tuto
    Vous devez utiliser la version 0.9 pour
    pouvoir profiter de ce tutoriel.
    Si c'est �a la faute j'ai pa trouv� cette version de framework si kelk'un l'a sur son poste
    Merci

  12. #12
    Membre �prouv�
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par d�faut
    Ce n'est pas un probl�me de version, puisque d'autres ont r�ussi. Reprenez le tutoriel depuis le d�but, pas � pas, respectez bien la structure des r�pertoires, et reprenez le code du tutoriel en essayant de le comprendre.

    Ce n'est pas magique, il y a une raison si votre code ne fonctionne pas. Les probl�mes de chemin sont courants, et c'est parfois tr�s chiant � corriger, mais il faut �tre patient.

    Pour corriger une grosse erreur : pas besoin de faire de routeur � ce niveau, ZF dirige automatiquement vers le bon controlleur dans ce cas : si on a une URL du type : http://www.lesite.org/Album/ajouter, ZF va de lui m�me appeler la m�thode ajouterAction du controlleur Album, sans routeur.

    Bonne chance et bon courage.

  13. #13
    Membre habitu�
    �tudiant
    Inscrit en
    Janvier 2008
    Messages
    10
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par d�faut j'ai resolu le probleme
    le probleme est au niveau du fichier http.conf. si vous utiliser xampp, � la ligne 118, enlever le commentaire.Sinon allez dans http.conf enlever le # de la ligne de mod_rewrite.

  14. #14
    Membre averti
    Inscrit en
    Ao�t 2007
    Messages
    18
    D�tails du profil
    Informations forums :
    Inscription : Ao�t 2007
    Messages : 18
    Par d�faut
    Citation Envoy� par azizmahamat Voir le message
    le probleme est au niveau du fichier http.conf. si vous utiliser xampp, � la ligne 118, enlever le commentaire.Sinon allez dans http.conf enlever le # de la ligne de mod_rewrite.

    t'as solution a donn� un r�sultat mieux que le mien mais bon toujours �a fonctionne pas
    pour les liens
    http://localhost/zf-tutorial/index/ajouter et les autres avant il me dis que les pages sont non trouv� mais maintenant la page existe mais avec des erreurs tout comme index.php

    Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (ajouter)' in C:\Program Files\EasyPHP 2.0b1\www\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php:198 Stack trace: #0 C:\Program Files\EasyPHP 2.0b1\www\zf-tutorial\library\Zend\Controller\Front.php(929): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\Program Files\EasyPHP 2.0b1\www\zf-tutorial\index.php(18): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\Program Files\EasyPHP 2.0b1\www\zf-tutorial\library\Zend\Controller\Dispatcher\Standard.php on line 198
    ce code d'erreur par exemple pour l'action ajouter

  15. #15
    Membre habitu�
    �tudiant
    Inscrit en
    Janvier 2008
    Messages
    10
    D�tails du profil
    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 10
    Par d�faut
    Nessma, ce message d'erreur ne peut etre que probleme de configuration.essaye de revoir le configuration d'apache.

  16. #16
    Membre �prouv�
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    D�tails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par d�faut
    De configuration Apache ?

    C'est un message d'erreur de Zend, qui dit ne pas trouver un controlleur d�nomm� "ajouter". C'est compr�hensible comme message. D�j�, les noms des controlleurs doivent d�buter par une majuscule et ne contenir qu'une majuscule, donc celle du d�but. Par cons�quent, si tu souhaites acc�der au controlleur Index, tu dois faire : http://localhost/zf-tutorial/Index/ajouter sinon tu as une erreur.

    Bonne chance.

  17. #17
    R�dacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    F�vrier 2004
    Messages
    13 721
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activit� : Directeur technique

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 13 721
    Par d�faut
    Attention, il n'y a pas de majuscule dans l'URL. Par ailleurs, le tutoriel stipule tr�s clairement que des erreurs sont attendues � certains moments.

  18. #18
    Membre actif
    Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 37
    Par d�faut
    Bonjour a tous,

    Il suffit seulement d'ajouter "$frontController->setBaseUrl();" dans l'index.php. Comme le stipule le tutoriel. Ca d�pend de la config du serveur.

    Merci

    Michel

  19. #19
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    27
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 27
    Par d�faut
    Salut � tous,

    Je viens de faire le tutoriel et je suis tomb� sur la m�me erreur que l'auteur de ce post.

    J'ai regard� la version anglaise de cet article, notamment la ligne 44 du fichier IndexController et on note effectivement une erreur dans l'article fran�ais.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    Article francais : 
            // set up an "empty" album
            $this->view->album = $album->createRow();;
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    Article anglais
            // set up an "empty" album
            $album = new Album();
            $this->view->album = $album->createRow();
    Une fois le ";" en trop vir�, et l'instanciation de l'objet Album faite, tout fonctionne parfaitement.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 2
    Dernier message: 08/05/2013, 13h59
  2. R�ponses: 6
    Dernier message: 04/01/2009, 20h37
  3. tutoriel "d�buter avec le ZF" et baseUrl
    Par Takis dans le forum Zend Framework
    R�ponses: 2
    Dernier message: 04/04/2008, 19h22
  4. R�ponses: 4
    Dernier message: 21/12/2007, 19h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo