Buenas el problema que tienes es que haces un redirect, y no un
render, el redirect deja carga el formulario de cero.
porque no pruebas hacer render.

On 4 ago, 15:24, sandra milena mendoza <[email protected]> wrote:
> Concatene los parametros en el action asi:
> echo 
> $this->Form->create('Tramite',array('type'=>'file','url'=>array('controller'=>'tramites
>  ',
>
> 'action'=>'edit', $tramite['Tramite']['id'], $tramite['Tramite']
> ['registro'])));
> y efectivamente recupero los parametros,pero ahora me sale el
> siguiente error:
>
> Cannot modify header information - headers already sent by (output
> started at C:\xampp\htdocs\autorizaciones\cake\libs\debugger.php:673)
> [CORE\cake\libs\controller\controller.php, line 742
> $status =       
> "Location:http://localhost/autorizaciones/tramites/edit/../tramitar";
> header - [internal], line ??
>
> Anexo el codigo del action
>
>         function edit($id = null, $idp = null)
>         {
>          $this->set('paciente', $this->pacientes[$idp]);
>          $this->Tramite->id= $id;
>          $this->set('tramite',$this->Tramite->read());
>          $status = $this->Tramite->Statu->find('list',
> array('fields'=>'Statu.estado', 'conditions' => array('Statu.id
> BETWEEN ? AND ?' => array('0','3'))));
>          $this->set('status', $status);
>         $this->layout = 'plantilla';
>         if (!$id && !$idp && empty($this->data)){
>         $this->Session->setFlash('Datos incorrectos', true);
>         
> $url='../tramitar/'.$this->data['Tramite']['registro'].'/'.$this->data['Tramite']['documento'];
>
>         $this->redirect(array($url));
>         }
>                 $this->Tramite->id = $id;
>                 if (empty($this->data)){
>                         $this->data = $this->Tramite->read(null, $id);
>                         } else {
>                                         $destination = 'img/upload/';
>                                          // grab the file
>                                         $file2 = 
> $this->data['Tramite']['imagen2'];
>                                         $name2= 
> $this->data['Tramite']['imagen2']['name'];
>                                         // upload the image using the upload 
> component
>                                         $result2 = 
> $this->Archivos->subirArch($file2, $destination,
> $name2);
>                                         $file3 = 
> $this->data['Tramite']['imagen3'];
>                                         $name3= 
> $this->data['Tramite']['imagen3']['name'];
>                                         // upload the image using the upload 
> component
>                                         $result3 = 
> $this->Archivos->subirArch($file3, $destination,
> $name3);
>                                         if (empty($result2))  $result2='';
>                                         if (empty($result3))  $result3='';
>                                         if ($result2) 
> $this->data['Tramite']['imagen2']=$result2;
>                                                 else 
> $this->data['Tramite']['imagen2']='';
>                                         if ($result3) 
> $this->data['Tramite']['imagen3']=$result3;
>                                                 else 
> $this->data['Tramite']['imagen3']='';
>                                         if 
> ($this->Tramite->save($this->data)){
>                                                 $this->Session->setFlash('El 
> registro ha sido actualizado');
>                                                 
> //$this->redirect(array('action' => 'index'));
>                                                 
> $url='../tramitar/'.$this->data['Tramite']['registro'].'/'.$this->data['Tramite']['documento'];
>
>                                                 $this->redirect(array($url));
>                                         }
>                                 }
>                         }
>
> Donde esta el error??
>
> On 4 ago, 06:51, Pau Dominguez <[email protected]> wrote:
>
>
>
>
>
>
>
> > El par�metro no se pierde lo que pasar� es que no lo vuelves a mandar a
> > la vista.
> > Si es un campo comprueba el con print_r($this->data) a ver que es lo que
> > pasas a la vista en la segunda llamada. Esto siempre aporta luz a los
> > problemas.
>
> > On 04/08/2011 9:41, jose javier lara torres wrote:
>
> > > comprueba el redirect, o la acci�n que se ejecuta en el formulario.
>
> > > en la acci�n que ejecuta el formulario puedes concatenarle los
> > > parametros que ejecutas, asi nunca perderas datos.
>
> > > El 4 de agosto de 2011 04:00, sandra milena mendoza
> > > <[email protected] <mailto:[email protected]>> escribi�:
>
> > >     Buenas noches.
>
> > >     Recurro a ustedes para solicitar ayuda en mi formulario de add y
> > >     edit.  En ambos tengo el mismo problema.  Envio por get dos parametros
> > >     en cada funcion asi:http://localhost/.../.../edit/2/606, por ejemplo,
> > >     entra al formulario perfectamente, tengo las validaciones en mi
> > >     modelo, pero cuando dejo un campo vacio que es requerido me vuelve al
> > >     formulario edit pero se pierde mi primer parametro en el ejemplo el 2,
> > >     lo que ocasiona el siguiente error: preg_match() expects parameter 2
> > >     to be string, array given [CORE\cake\libs\validation.php, line 946]
>
> > >     en mi formulario edit.ctp envio por post los dos datos type hidden.
>
> > >     Que podria ocasionar la perdida del primer dato?
>
> > >     --
> > >     Has recibido este mensaje porque est�s suscrito al grupo
> > >     "CakePHP-es" de Grupos de Google.
> > >     Para publicar una entrada en este grupo, env�a un correo
> > >     electr�nico a [email protected]
> > >     <mailto:[email protected]>.
> > >     Para anular tu suscripci�n a este grupo, env�a un correo
> > >     electr�nico a [email protected]
> > >     <mailto:cakephp-es%[email protected]>
> > >     Para tener acceso a m�s opciones, visita el grupo en
> > >    http://groups.google.com/group/cakephp-es?hl=es.
>
> > > --
> > > Has recibido este mensaje porque est�s suscrito al grupo "CakePHP-es"
> > > de Grupos de Google.
> > > Para publicar una entrada en este grupo, env�a un correo electr�nico a
> > > [email protected].
> > > Para anular tu suscripci�n a este grupo, env�a un correo 
> > > electr�nico a
> > > [email protected]
> > > Para tener acceso a m�s opciones, visita el grupo en
> > >http://groups.google.com/group/cakephp-es?hl=es.-Ocultar texto de la cita -
>
> > - Mostrar texto de la cita -

-- 
Has recibido este mensaje porque estás suscrito al grupo "CakePHP-es" de Grupos 
de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a 
[email protected].
Para anular tu suscripción a este grupo, envía un correo electrónico a 
[email protected]
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a