Foros del Web » Programando para Internet » PHP »

Error de carga de formulario usando Pear

Estas en el tema de Error de carga de formulario usando Pear en el foro de PHP en Foros del Web. Hola gentes, el problema que tengo es el siguiente, tengo un formulario con el que hago modificaciones, la primera vez que lo uso anda todo ...
  #1 (permalink)  
Antiguo 23/06/2004, 18:17
 
Fecha de Ingreso: junio-2004
Mensajes: 7
Antigüedad: 19 años, 9 meses
Puntos: 0
Error de carga de formulario usando Pear

Hola gentes,
el problema que tengo es el siguiente,
tengo un formulario con el que hago modificaciones, la primera vez que lo uso anda todo OK, me carga los datos que necesito modificar y logro hacer los cambios en los datos, pero....... cuando quiero hacerlos por segunda vez con otro registro distinto lo que pasa es que sigo viendo en las cajas de texto los datos del primer registro modificado....

diganme ustedes ¿Como se podria borrar los datos del registro modificado en la primera oportunidad y que aparezcan los correctos?

Para que tengan en cuenta, el "id" del registro llega bien en cada caso para cada registro que quiero modificar, pero siempre me aparece los datos de la primera modificacion

Gracias por lo que me puedan ayudar
  #2 (permalink)  
Antiguo 24/06/2004, 06:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Que código estás usando? (y classe de PEAR en concreto)

¿Seguro que es PHP-GTK?

Un saludo,
  #3 (permalink)  
Antiguo 24/06/2004, 06:39
 
Fecha de Ingreso: junio-2004
Mensajes: 7
Antigüedad: 19 años, 9 meses
Puntos: 0
Clase de Pear que uso

Hola,
mira, la clase de pear que uso no se como explicarte, yo aun trabajo con entorno Windows y las pear que estoy usando las baje con el comando "cmd"->"Pear list-all"->"Pear install DBA"(Este es un ejemplo de la forma en que obtuve las pear que uso ) Bueno, en fin, el formulario que uso lo hago con los paquetes de Quik_Form usando el Controller.php para mostrar distintas paginas segun la desicion del usuario con Action incluido y demas.... bueno, espero que te sirva para guiarte en este problema que planteo


Gracias por la ayuda que me puedan dar , Saludos Cesar
  #4 (permalink)  
Antiguo 24/06/2004, 07:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo mejor es que pongas el código que usas (y que no uses colores para el mensaje .. no se lee bien xD)

Por lo demás no es "PHP-GTK" lo que estás usando sino algún objeto concreto de Pear que como tal tendrá su manual de uso y métodos .. (y hasta puede que no haga la función que le pides .. así que primero habría que ver bien si dentro de sus funcionalidades podría hacer lo que pretendes ..)

Un saludo,
  #5 (permalink)  
Antiguo 24/06/2004, 11:00
 
Fecha de Ingreso: junio-2004
Mensajes: 7
Antigüedad: 19 años, 9 meses
Puntos: 0
Información Aca va el código

Cluster,
aca te envio el codigo que estoy usando, a ver si le encuntras la vuelta tu..!!

Gracias de antemano







class PageFirst extends HTML_QuickForm_Page
{
function buildForm()
{

$this->_formBuilt = true;
$personas = new Personas;
//$persona_id = $_POST['persona_id'];
$persona_id = @$_GET['persona_id'];


$row = $personas->GetDatosPersona($persona_id, 'persona_id');
$nombre = $row[1];
// echo $nombre;

$tabular = '      ';
// Comienzo del Formulario
$html = '';
$html .= '<link href="../css/admin.css" rel="stylesheet" type="text/css">';
$html .= '<BR>';
$html .= '<H3 class="titulo">'.$tabular.'Modificacion o Eliminacion</H3>';
//$html .= '<H3 class="subtitulo">'.$tabular.'Ingrese sus datos personales para modificar los existentes en la DB</H3>';
//$html .= '<H6 class="subtitulo">Usted debe ingresar sus datos personales. Debe llenar de forma obligatoria ciertos campos.</H5><BR>';

$this->addElement('html', $html);

$this->addElement('hidden','id', $persona_id);

$id[] =& HTML_QuickForm::createElement('text', 'id', 'Id:', @array('size' => 20, 'maxlength' => 20, 'value' => $persona_id, disabled));

$this->addGroup( $id, 'idper', 'ID:');//formExpediente


$nombres[] =& HTML_QuickForm::createElement('text','nombre',NULL , array('size' => 20, 'maxlength' => 20, 'value' => $row[1]));
$nombres[] =& HTML_QuickForm::createElement('text', 'apellido',NULL, array('size' => 20, 'maxlength' => 20, 'value' => $row[1]));

$this->addGroup( $nombres, 'formnom', 'Nombre/s:', '/ Apellido');//formExpediente


$doc[] =& HTML_QuickForm::createElement('select','tdoc','Tip o de Documento:',$personas->GetTDocs());
$doc[] =& HTML_QuickForm::createElement('text', 'ndoc', NULL, array('size' => 8, 'maxlength' => 8, 'value' => $row[3]));

$this->addGroup( $doc, 'formdoc', 'Documento:', '/ Nro');//formExpediente

$i=0;
while ($i<=40)
{
$edad[20 + $i] = 20 + $i;
$i++;
}

$this->addElement('select','edad','Edad:',$edad);




$sexo[0] = "M";
$sexo[1] = "F";
$this->addElement('select','sexo','Sexo:',$sexo);



$domicilio[] =& HTML_QuickForm::createElement('text','domicilio',' Domicilio:', array('value' => $row[6]));
$this->addGroup( $domicilio, 'formdomi', 'Domicilio:', '/ Nro');//formExpediente



$this->addElement('select','localidad','Localidad:',$per sonas->GetLocalidades());





$telefonofijo[] =& HTML_QuickForm::createElement('text', 'ctele', NULL, array('size' => 4, 'maxlength' => 4, 'value' => $row[8]));
$telefonofijo[] =& HTML_QuickForm::createElement('text', 'ntele', NULL, array('size' => 7, 'maxlength' => 7, 'value' => $row[9]));

$this->addGroup( $telefonofijo, 'formTelefFijo', 'Caract.:', '/ Nro Telefono');//formExpediente

$telefonomovil[] =& HTML_QuickForm::createElement('text', 'ccelu', NULL, array('size' => 4, 'maxlength' => 4, 'value' => $row[10]));
$telefonomovil[] =& HTML_QuickForm::createElement('text', 'ncelu', NULL, array('size' => 9, 'maxlength' => 9, 'value' => $row[11]));

$this->addGroup( $telefonomovil, 'formTelefMovil', 'Caract.:', '/ Nro Celular');//formExpediente

// register with 'callback' type

$mail[] =& HTML_QuickForm::createElement('text', 'mail', 'Mail:', array('size' => 20, 'maxlength' => 20, 'value' => $row[12]));

$this->addGroup( $mail, 'formMail', 'E - Mail:');//formExpediente

$hs =& $this->addElement('hierselect', 'nestudios', 'Estudios:', array('style' => 'width: 12em;'), '&nbsp;&nbsp;Carrera&nbsp;');
$hs->setOptions($personas->SelectorProfesiones());



$curso[0] = 'Finalizados';
$i=1;
while ($i<=15)
{
$curso[$i] = $i;
$i++;
}



$this->addElement('select','acursado','Curso:',$curso) ;


$this->addElement('text', 'titulo', 'Titulo:', array('size' => 30, 'maxlength' => 30, 'value' => $row[16]));
$this->addRule('titulo', 'Solo las iniciales llevan letras mayusculas', 'callback', 'countUpper');


$this->addElement('text', 'observ', 'Observaciones:', array('size' => 80, 'maxlength' => 100,'value' => $row[17]));
$this->addRule('nota', 'Solo las iniciales llevan letras mayusculas', 'callback', 'countUpper');

// Note how we set the name of the submit button

// Define filters and validation rules

$this->registerRule ( 'validarNroDoc', 'callback', 'nroDNIValido' );
//$this->registerRule ( 'validarAnioExpediente', 'callback', 'anioExpedienteValido' );

//$this->applyFilter('formExpediente[nroExpediente]', 'trim');
//email
$this->addGroupRule('formnom',
array('nombre' => array(
array('El nombre es obligatoriio', 'required'),
array('El nombre sólo puede contener letras', 'lettersonly'),
),
'apellido' => array(
array('El apellido es obligatoriio', 'required'),
array('El apellido sólo puede contener letras', 'lettersonly'),
)
));

$this->addGroupRule('formdoc',
array('ndoc' => array(
array('El nro de documento es obligatoriio', 'required'),
array('El nro de documento sólo puede contener números', 'numeric'),
array('El nº de documento no es valido', 'validarNroDoc'),
)
));


$this->addElement('submit', $this->getButtonName('next'), 'Seguir >>');

$this->addElement('reset', $this->getButtonName('reset'), 'Corregir >>');
$this->addRule('iradYesNo', 'Modificar o Eliminar', 'required');

$this->setDefaultAction('next');
}
}
  #6 (permalink)  
Antiguo 24/06/2004, 12:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Por mi parte no uso esa classe de Pear .. así que te tocará esperar a alguien que la use y entienda que pretendes hacer ..

Suerte,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:40.