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 :

[0.7] Redirection


Sujet :

MVC PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut [0.7] Redirection
    Bonjour,

    Je vient de me mettre au ZF version 0.7 et comme tout le monde ( ou presque ) je rencontre certaines difficultés.

    Mon problème se situe au niveau de la redirection après une action:

    J'ai une classe controlleur qui possède deux actions, indexAction() et insertAction(), je voudrais qu'à la fin de l'action insert l'utilisateur soit directement redirigé vers une page , par exemple index.html.

    L'ennui est que ça marche pas avec un _redirect()( j'ai une page blanche ), avec _forward() par contre j'ai bien une 'redirection', sauf que là la page qui s'affiche n'intégre pas le style du site, pas d'images ni le skin de mon fichier CSS.

    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
    43
    class EtudiantController extends Zend_Controller_Action {
    
    	protected $db = null;
    
    	public function init() {
            Zend::loadClass('Etudiant', 'core/model');
    		Zend::loadClass('Zend_Db');
            $params = array (
    					    'host'     => 'localhost',
    					    'username' => 'root',
    					    'password' => '',
    					    'dbname'   => 'gesta'
    					);
    		$this->db = Zend_Db::factory('PDO_MYSQL', $params);
        }
    
        public function indexAction() {
            $view = Zend::registry('view');
            echo $view->render('indexEtudiant.html');
        }
    
    	public function insertAction() {
    		$t_etudiant = new Etudiant($this->db);
    		$donnees = array (
    						"nom"=>"xxxxxxxx",
    						"prenom"=>"xxxxxxx",
    						"email"=>"php_at_yah",
    						"tel"=>"0909090909",
    						"fax"=>"0909090909",
    						"login"=>"userlogin",
    						"passw"=>"mdp",
    						"role"=>"ETU",
    						"num_etu"=>"45004567",
    						"idformation"=>"2"
    					);
    		$t_etudiant->insert($donnees);
    
    		$this->_forward('etudiant','index');//marche pas bien
                    //  $this->_redirect('/etudiant/');  //marche pas du tout
    
    	}
    }
    une idée ???

    la structure de mon appli:
    /

    index.php
    zend.php
    zend/
    core/

    controller/
    model/
    view/

    img/
    skin.css


    Je rajoute une précision :

    C'est uniquement avec des actions perso ie pas avec indexAction que je rencontre ce problème...

    J'ai vu le code html de la page et y a bien les liens vers les images et le fichier CSS !!!

    M'enfin tant pis .... je trouve le ZF pas assez bien foutu pour un produit "PRO".

    Finalement je me suis résigné à me servir d'une bête redirection javascript...

    en attendant de trouver mieux.

  2. #2
    Membre averti
    Inscrit en
    Février 2003
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 18
    Par défaut
    $this->_redirect marche parfaitement, qu'a tu dans ta barre d'url suite au redirect ?

    D'autre part
    je trouve le ZF pas assez bien foutu pour un produit "PRO".
    je trouve que tu vas vite en besogne car d'une part le produit est en cours de dev et est déjà trés stable et d'autre part au niveau structure et possibilité il est de la même veine que des rails struts et compagnie. Bien entendu il reste du chemin à parcourir mais je trouve trés satisfaisant de l'evolution de celui-ci.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut
    j'appelle http://localhost/etudiant/ajouteetudiant est le controller et ajoute l'action; dans cette action je fais $this->_forward ('etudiant', 'index') car je veut revenir vers l'index de etudiant ( avec _redirect ça marche pas du tout, une page blanche s'affiche) et là j'ai bien l'index qui s'affiche mais sans les styles et les images et la barre d'adresse ne change pas, elle reste la même que ci-dessus !!!

    PS : rassure toi je n'abondonne pas pour autant ZF, cependant j'ai l'impression qu'ils ( les developpeurs de ZF ) ne savent pas dans qu'elle direction ils vont...on dirait qu'ils testent les choses après les avoir validées, puis reviennent sur leurs choix et prennent une autre solution etc. C'est pas très 'sûr' comme démarche, je préfère attendre 6 mois pour avoir une version plus stable et mieux réfléchie.


    merci pour ta reponse...le javascript est horrible .

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut
    ...ça y est, j'ai trouver d'où venait le problème...enfin en partie.

    Le ZF c'est presque bien mais ça reste du PHP quand même et ça ne résout pas tous les problèmes loin de là...

    En fait dans mon controller je faisais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    include "EtudiantModel.php";
    et l'ennui c'est que j'avais rajouter une ligne vide à la fin du fichier après le '?>'
    donc _redirect marche avec la foction header(""); apparement.
    conclusion il faut faire très attention aux sorties echo "" et html car il n'y a pas d'erreur "can't send header ...blabla" qui s'affiche et c'est donc assez dur à debuguer...ouf

    cependant j'ai vite déchanter car encore une fois quand j'appelle une méthode Action en dehors de 'indexAction' j'ai une page qui s'affiche mais sans les images ni le style CSS, on dirait qu'ils ne sont même pas sur le site !!!
    Quand je clique sur la zone où il devrait y avoir une image et que je fais 'afficher l'image' je reçois une reponse genre :

    Impossible de trouver l'image à l'adresse etudiant/img/monImage.png, or le dossier etudiant n'existe pas c'est un controlleur et non un dossier physique. J'ai l'impression qu'il confond entre les controlleurs et des sous-dossier fictifs dans mon arborescence !!! je suis perdu ...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 60
    Par défaut
    enfin cette nuitj'ai pu arriver à faire à peu près tout ce que je voulais,

    le problème des CSS et images était du au chemin URI dans l'attribut html 'src' de la balise img par exemple; j'utilisais un chemin relatif à partir de la racine c'est à dire le fichier bootstrap index.php, en testant avec un chemin absolu genre http://monsite/img/myImage.png là ça marche...

    Mais j'ai quelque chose de bizarre dans ce ZF, Si je tape l'adresse http://monsite/controlleur ça marche nickel avec l'action indexAction()
    mais si je lance avec http://monsite/controlleur/ ça ne marche pas et controlleur est vu comme un sous-dossier par apache !!!

    si quelqu'un à de plus ample infos sur ce phénomène ???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Strategie]Redirection après un formulaire
    Par kyser91 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 19/03/2004, 15h15
  2. redirection de trames
    Par Fry dans le forum Développement
    Réponses: 2
    Dernier message: 06/01/2004, 13h31
  3. [VB.NET]Double redirection.
    Par CammCamm dans le forum ASP.NET
    Réponses: 9
    Dernier message: 24/11/2003, 15h11
  4. [VB6] probleme de redirection d'une commande DOS
    Par WriteLN dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/06/2003, 09h36
  5. [reseaux] redirection de flux
    Par Olive1808 dans le forum Programmation et administration système
    Réponses: 2
    Dernier message: 12/08/2002, 09h24

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