2011-11-02 4 views
1

Folks, j'ai quelques problèmes à faire un formulaire de rendu/affichage sur ma page Web. Eh bien, cela fonctionne très bien sur mon serveur local, mais une fois que j'utilise le même code sur un serveur distant, la page Web s'affiche correctement, mais le formulaire est manquant.Zend_Form ne rend pas

Localhost:
OS: Win 7
PHP: 5.3.8
Apache: 2.2.21
Zend: 1.11.3

serveur distant:
OS: Linux CentOS version 5.5
PHP: 5.3.8
Apache: 2.2.3
Zend: 1.11.3

FeedbackForm.php

classe forms_FeedbackForm étend Zend_Form {

{

public function init()

$ this-> setAction ('') -> setMethod (post ') -> setName (' feedbackForm ');

$ feedback = nouveau Zend_Form_Element_Textarea ('feedback');

$ submit = nouveau Zend_Form_Element_Button ('submitButton');

$ this-> addElement ($ feedback) -> addElement ($ submit);
}}

IndexController.php

classe IndexController extends Zend_Controller_Action {

fonction publique indexAction() {

$ form = new forms_FeedbackForm();

$this->view->form = $form; 

}}

index.phtml

echo $ this-> forme;



Cependant, si je remplace l'instruction echo avec print_r ($ this-> forme), je vois les détails de l'objet avec les deux serveurs.

Répondre

1

Utilisez une majuscule pour votre classe: Forms_FeedbackForm au lieu de forms_FeedbackForm. L'autochargeur ne le trouve pas sous Linux.

Généralement, lorsque des problèmes de ce type surviennent entre des serveurs Linux et Windows, c'est un problème majeur. Linux est sensible à la casse, Windows ne l'est pas.

0

Votre code a l'air bien. Je vous suggère de définir des exceptions d'affichage dans votre application.ini:

resources.frontController.params.displayExceptions = 1 Et assurez-vous que votre vue d'erreur affiche des exceptions.

+0

Merci pour le conseil, mais cela n'a rien fait non plus. Toujours pas de forme! – NelsonPim

+0

Je peux voir les détails de l'objet formulaire si je fais un print_r() au lieu d'echo – NelsonPim

+0

que voyez-vous lorsque vous faites: echo $ this-> form-> render(); ? – Fino

0

Assurez-vous que votre vue ressemble à <?php echo $this->form; ?>, sinon, le PHP ne s'exécutera pas réellement.

+0

J'ai les tags php là-bas, j'ai juste oublié de les ajouter ci-dessus. – NelsonPim