IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

MVC PHP Discussion :

Problème avec mon contrôleur non trouvé


Sujet :

MVC PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut Problème avec mon contrôleur non trouvé
    Hello,

    J'ai changé ma css pour le site que je développe et sans y prêter attention j'ai du modifier quelque chose puisque je n'arrives plus à accéder qu'à ma page index du site et que tout clique sur un lien me renvoie le message suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (NomProjet)' in C:\wamp\www\NomProjet\library\Zend\Controller\Dispatcher\Standard.php:241 Stack trace: #0 C:\wamp\www\NomProjet\library\Zend\Controller\Front.php(934): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 C:\wamp\www\NomProjet\index.php(30): Zend_Controller_Front->dispatch() #2 {main} thrown in C:\wamp\www\NomProjet\library\Zend\Controller\Dispatcher\Standard.php on line 241
    Ce que je ne comprends pas c'est que le NomProjet ne figure nul part dans mon bootstrap et ne peut être là que par rapport à mon .htaccess

    Voici mon fichier index.php

    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
    <?php
    error_reporting(E_ALL|E_STRICT);
    ini_set('display_errors', 1);
    date_default_timezone_set('Europe/Paris');
     
    // mise en place des répertoires et chargement des classes
    set_include_path('.'
        . PATH_SEPARATOR . './library'
        . PATH_SEPARATOR . './application/models/'
        . PATH_SEPARATOR . get_include_path());
    include "Zend/Loader.php";
    Zend_Loader::registerAutoload();
     
    // Chargement de la configuration
    $config = new Zend_Config_Ini('./application/config.ini', 'general');
    $registry = Zend_Registry::getInstance();
    $registry->set('config', $config);
     
    //Mise en place de l'access aux données
    $db = Zend_Db::factory($config->db);
    Zend_Db_Table::setDefaultAdapter($db);
     
    //setup controller
    $frontController = Zend_Controller_Front::getInstance();
    $frontController->throwExceptions(true);
    $frontController->setControllerDirectory('./application/controllers');
    Zend_Layout::startMvc(array('layoutPath'=>'./application/layouts'));
     
    // run!
    $frontController->dispatch();
    et mon .htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # Règles de réécriture pour Zend Framework
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule !\.(js|ico|gif|jpg|png|css)$ Vetis/index.php
     
    # Sécurité : Ne pas autoriser le parcours de répertoires
    Options -Indexes
     
    # Configuration PHP
    php_flag magic_quotes_gpc off
    php_flag register_globals off
    php_flag short_open_tag on

    Si quelqu'un a une idée , une piste ...
    Merci bien

  2. #2
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    à quoi ressemblent les liens de ta page index ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut
    Au fait je fais appel à un layout ou figure un menu déroulant et mes liens sont de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href="<?php echo $this->url(array('controller'=>'index','action'=>'visiteGuidee')); ?>">Visite guidée</a></li>
    Et là je ne comprends plus ...

  4. #4
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par frantz68 Voir le message
    Au fait je fais appel à un layout ou figure un menu déroulant et mes liens sont de la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href="<?php echo $this->url(array('controller'=>'index','action'=>'visiteGuidee')); ?>">Visite guidée</a></li>
    Et là je ne comprends plus ...
    Et que donnent les liens générés par l'aide de vue url ?
    En pratique à quoi ça ressemble dans le HTML généré ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut
    En pratique sur ma seule page accessible j'ai des liens de la forme :

    http://localhost/vetis/index/visiteGuidee

    donc j'ai bien le contrôleur index qui est appelé ( et le fichier /application/controllers/IndexController.php existe bien) et l'action visiteguidée figure bien dans ce fichier

    function visiteguideeAction(){

    }
    ... Merci pour l'aide

  6. #6
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Je suppose que tu accèdes à la page d'accueil avec l'adresse http://localhost/ et que la visite guidée se trouve à l'adresse http://localhost/index/visiteGuidee ?

    Si c'est le cas, essaie en fixant la baseUrl du contrôleur frontal dans ton bootstrap :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $frontController->setBaseUrl('/');

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut
    Hello,

    j'ai essayé ta méthode et j'ai le même message d'erreur sauf que je n'ai plus même accès à la page index ...

    C'est peut-être la bonne voie

  8. #8
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Citation Envoyé par frantz68 Voir le message
    Hello,

    j'ai essayé ta méthode et j'ai le même message d'erreur sauf que je n'ai plus même accès à la page index ...

    C'est peut-être la bonne voie
    Tu accèdes bien à la page d'index à l'adresse http://localhost/ ? Qu'est-ce que ça t'affiche quand tu va sur l'index ?

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Tu accèdes bien à la page d'index à l'adresse http://localhost/ ? Qu'est-ce que ça t'affiche quand tu va sur l'index ?
    Non au fait j'ai un dossier à la racine de www.

    Pour accéder à mon site il faut que je tape http://localhost/nomDuProjet/ et là j'y suis...

    Merci encore

  10. #10
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Alors essaie avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $frontController->setBaseUrl('/nomDuProjet/');

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 33
    Par défaut Merci beaucoup
    Désolé pour ma réponse tardive mais j'étais occupé.

    Cela solutionne mon problème et je remercie pour le coup de main.


Discussions similaires

  1. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26
  2. Problème avec mon service mysql et PhpMyAdmin
    Par Fixazo dans le forum Outils
    Réponses: 1
    Dernier message: 28/08/2005, 18h02
  3. problème avec mon lecteur CD
    Par leo13 dans le forum Périphériques
    Réponses: 3
    Dernier message: 16/08/2005, 11h21
  4. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  5. Problème avec mon firewall ...
    Par Wis dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 06/04/2004, 08h46

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