Ayuda con formulario Zend framework

Iniciado por Eru Iluvatar, 12 Octubre 2009, 00:30 AM

0 Miembros y 1 Visitante están viendo este tema.

Eru Iluvatar

Tengo un formulario simple, pero no logro que me muestre lo que escribo en la cajita, me muestra es *array

Código (php) [Seleccionar]

$form = $this->getAddCommentForm ();
if ($this->getRequest ()->isPost ()) {
if ($form->isValid ( $_POST )) {
$values = $form-> getValues();
$this->view->values = $values;
//otras cosas
}
}
$this->view->title = 'Comentarios';
$this->view->form = $form;

///

<?php if($this->values) : ?>
<h3>Has enviado los siguientes valores:</h3>
<ul>
<?php foreach ($this->values as $value) :?>
<li>
<?php echo $this->values?>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
<?php echo $this->form?>

Filibustero de bolsillo

No estás imprimiendo sus valores, sino el array que estás recorriendo.

Código (php) [Seleccionar]
<?php echo $value?>

Absence makes the heart grow fonder.

WHK

Hola, podrías utilizar htmlspecialchars para mostrar información y evitar el xss

Código (php) [Seleccionar]
<?php
$form 
$this->getAddCommentForm();
if(
$this->getRequest()->isPost ()){
 if (
$form->isValid($_POST)){
  
$values $form->getValues();
  
$this->view->values $values;
  
//otras cosas
 
}
}
$this->view->title 'Comentarios';
$this->view->form $form;
 
///

if($this->values){ ?>

<h3>Has enviado los siguientes valores:</h3>
<ul>
<?php
  
foreach ($this->values as $value){
   echo 
'<li>' .htmlspecialchars($valueENT_QUOTES).'</li>';
  }
 
?>

</ul>
<?php 
 

echo 
$this->form;
?>


Ahora si no te quieres complicar la vida puedes decir:
Código (php) [Seleccionar]
<?php
 
if($_POST){
  foreach(
$_POST as $variable => $valor){
   echo 
'* '.htmlspecialchars($variableENT_QUOTES).' :: '.htmlspecialcgars($valorENT_QUOTES).'<br />';
  }
 echo 
'<plaintext>';
 
print_r($_POST);
 }
?>

Eru Iluvatar

#3
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!