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
<[email protected]>escribió:
> Aun no he podido solucionar el problema.
>
> On 5 ago, 02:54, Dan e <[email protected]> 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 <[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.-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
> [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.
>
>
--
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.