Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Eru Iluvatar en 12 Octubre 2009, 00:30 am



Título: Ayuda con formulario Zend framework
Publicado por: Eru Iluvatar en 12 Octubre 2009, 00:30 am
Tengo un formulario simple, pero no logro que me muestre lo que escribo en la cajita, me muestra es *array

Código
  1. $form = $this->getAddCommentForm ();
  2. if ($this->getRequest ()->isPost ()) {
  3. if ($form->isValid ( $_POST )) {
  4. $values = $form-> getValues();
  5. $this->view->values = $values;
  6. //otras cosas
  7. }
  8. }
  9. $this->view->title = 'Comentarios';
  10. $this->view->form = $form;
  11.  
  12. ///
  13.  
  14. <?php if($this->values) : ?>
  15. <h3>Has enviado los siguientes valores:</h3>
  16. <ul>
  17. <?php foreach ($this->values as $value) :?>
  18. <li>
  19. <?php echo $this->values; ?>
  20. </li>
  21. <?php endforeach; ?>
  22. </ul>
  23. <?php endif; ?>
  24. <?php echo $this->form; ?>
  25.  


Título: Re: Ayuda con formulario Zend framework
Publicado por: Embusterillo de bolsillo en 12 Octubre 2009, 00:57 am
No estás imprimiendo sus valores, sino el array que estás recorriendo.

Código
  1. <?php echo $value; ?>


Título: Re: Ayuda con formulario Zend framework
Publicado por: WHK en 12 Octubre 2009, 01:12 am
Hola, podrías utilizar htmlspecialchars para mostrar información y evitar el xss

Código
  1. <?php
  2. $form = $this->getAddCommentForm();
  3. if($this->getRequest()->isPost ()){
  4. if ($form->isValid($_POST)){
  5.  $values = $form->getValues();
  6.  $this->view->values = $values;
  7.  //otras cosas
  8. }
  9. }
  10. $this->view->title = 'Comentarios';
  11. $this->view->form = $form;
  12.  
  13. ///
  14.  
  15. if($this->values){ ?>
  16. <h3>Has enviado los siguientes valores:</h3>
  17. <ul>
  18. <?php
  19.  foreach ($this->values as $value){
  20.   echo '<li>' .htmlspecialchars($value, ENT_QUOTES).'</li>';
  21.  }
  22. ?>
  23. </ul>
  24. <?php
  25. }
  26. echo $this->form;
  27. ?>

Ahora si no te quieres complicar la vida puedes decir:
Código
  1. <?php
  2. if($_POST){
  3.  foreach($_POST as $variable => $valor){
  4.   echo '* '.htmlspecialchars($variable, ENT_QUOTES).' :: '.htmlspecialcgars($valor, ENT_QUOTES).'<br />';
  5.  }
  6. echo '<plaintext>';
  7. print_r($_POST);
  8. }
  9. ?>


Título: Re: Ayuda con formulario Zend framework
Publicado por: Eru Iluvatar en 12 Octubre 2009, 01:17 am
Jaja se, mejor no me complico la vida...

Gracias Danfelbm, si, era eso... ahora su funciona

Usaré también la propuesta de WHK que me parece interesante....

gracias a los dos!