tienes que pasarle siempre el id del registro q vas a modificar. En el
submit, por que el metodo esta declarado con ese parametro entonces cuando
envias el formulario tambia hay que psasarlo, no solo cuando se carga.  y
trata de usar en los enlaces $url=array('controller'=>'nombre
controlador','action'=>'accion a ejecutar',$parametro,$parametro2........)

El 8 de agosto de 2011 14:56, sandra milena mendoza
<shanita...@gmail.com>escribió:

> Aun no he podido solucionar el problema.
>
> On 5 ago, 02:54, Dan e <alien...@gmail.com> wrote:
> > 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 <shanita...@gmail.com> 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['Tra­mite']['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['Tra­mite']['documento'];
> >
> > >
> $this->redirect(array($url));
> > >                                         }
> > >                                 }
> > >                         }
> >
> > > Donde esta el error??
> >
> > > On 4 ago, 06:51, Pau Dominguez <pdomingu...@gmail.com> 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
> > > > > <shanita...@gmail.com <mailto:shanita...@gmail.com>> 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 cakephp-es@googlegroups.com
> > > > >     <mailto:cakephp-es@googlegroups.com>.
> > > > >     Para anular tu suscripci�n a este grupo, env�a un correo
> > > > >     electr�nico a cakephp-es+unsubscr...@googlegroups.com
> > > > >     <mailto:cakephp-es%2bunsubscr...@googlegroups.com>
> > > > >     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
> > > > > cakephp-es@googlegroups.com.
> > > > > Para anular tu suscripci�n a este grupo, env�a un correo
> electr�nico a
> > > > > cakephp-es+unsubscr...@googlegroups.com
> > > > > Para tener acceso a m�s opciones, visita el grupo en
> > > > >http://groups.google.com/group/cakephp-es?hl=es.-Ocultartexto de la
> cita -
> >
> > > > - Mostrar texto de la cita -- 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
> cakephp-es@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a
> cakephp-es+unsubscr...@googlegroups.com
> 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 
cakephp-es@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a 
cakephp-es+unsubscr...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en 
http://groups.google.com/group/cakephp-es?hl=es.

Responder a