Précédent   Forum des professionnels en informatique > PHP > Outils > Zend > Zend Framework
Zend Framework Forum d'entraide sur la programmation PHP avec Zend Framework. Avant de poster -> FAQ ZF, Cours ZF
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 15/10/2007, 23h17   #1
Membre actif
 
Inscription : décembre 2002
Messages : 325
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : décembre 2002
Messages : 325
Points : 187
Points : 187
Par défaut Redirection avec paramètres pour la vue

Bonjour,

à la fin d'une méthode d'action, je voudrais pouvoir afficher une vue en fonction du résultat d'un test.
Ce résultat est dans $erreurs qui est un tableau. Si ce tableau est vide, je voudrais afficher une vue et s'il n'est pas vide une autre.
Le problème est que dans le cas où le tableau n'est pas vide, je voudrais pouvoir l'afficher dans la vue en question, et que je ne sais pas comment faire.
Dans le cas où le tableau est vide, j'y accède sans problème dans l'autre vue

méthode testerAction() :
Code :
1
2
3
4
5
6
7
 
$this->view->erreurs = $erreurs;
if (count($erreurs) > 0) {
      $this->_redirect('/index/form');
} else {
      return;
}
vue si tableau vide : tester.phtml
Code :
1
2
3
4
5
 
<?php
	print_r(count($this->erreurs));
	echo 'tout s\'est bien passé';
?>
vue si erreurs non vide : form.phtml (vue contenant un formulaire dont l'action est /index/tester):
Code :
1
2
3
4
 
<?php
	print_r($this->erreurs);
?>
sir_gcc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 07h27   #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
C'est quoi le problème exactement ? Il se passe quoi avec ton code ?

Déja, je ne suis pas sûr de l'utilité du return dans ce bout de code :

Code :
1
2
3
4
5
6
$this->view->erreurs = $erreurs;
if (count($erreurs) > 0) {
      $this->_redirect('/index/form');
} else {
      return;
}
Si ce code est à la fin de la méthode, ce qui doit être le cas vu qu'il est impossible d'alller plus loin avec ce code, ca revient au même de faire ça :

Code :
1
2
3
4
$this->view->erreurs = $erreurs;
if (count($erreurs) > 0) {
      $this->_redirect('/index/form');
}
Mais je ne pense pas que ça resolve ton problème.
Baptiste Wicht est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 21h12   #3
Membre actif
 
Inscription : décembre 2002
Messages : 325
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : décembre 2002
Messages : 325
Points : 187
Points : 187
Merci pour ta réponse.
En effet, le fait d'enlever la clause "else" ne change rien dans le comportement.

La problème est que dans la vue utilisée lorsque des erreurs sont présentes (tableau $erreurs non vide) je ne sais pas comment accéder à ce tableau.

[EDIT]
J'ai finalement utilisé la session. J'avais oublié que ça marche très bien aussi.
sir_gcc 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 22h34.


 
 
 
 
Partenaires

Hébergement Web