Foros del Web » Programando para Internet » PHP »

como? despues de validar que no borre informacion...

Estas en el tema de como? despues de validar que no borre informacion... en el foro de PHP en Foros del Web. Buenos dias... Lo que sucede es que tengo unas html las cuales voy validando en forma inmediata, Ejemplo : Ingresan codigo de producto en un ...
  #1 (permalink)  
Antiguo 19/05/2004, 09:35
Avatar de ciopatrick  
Fecha de Ingreso: diciembre-2003
Mensajes: 189
Antigüedad: 20 años, 4 meses
Puntos: 0
como? despues de validar que no borre informacion...

Buenos dias...

Lo que sucede es que tengo unas html las cuales voy validando en forma inmediata,

Ejemplo :

Ingresan codigo de producto en un campo de texto, luego click sobre un boton submit - valido en un php y veo si existe este codigo, si lo encuentra retorno al html y asigno un valor a un select....
Y asi son varias, varias , y varias mas.....

todo bien en las consultas - validaciones en general, pero cuando valido ya sea retornando informacion o no los campos que se encontraban llenos son limpiados, y por logica pierdo informacion de pantalla

La consulta es como `puedo retornar al html una vez validado, sin que se borre la informacion ya en pantalla.

Gracias
  #2 (permalink)  
Antiguo 19/05/2004, 10:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa los "value" de los <input ...> para predefinir un valor inicial .. que será el que tendras que devolver desde tu script de proceso (que los capturó de tu formulario) al mismo formulario (página) pasados como parámetro (por el URL) o mejor usando una sesión ..

Código PHP:
<?
session_start
();
if (isset(
$_SESSION['formulario'])){
$formulario=$_SESSION['formulario'];
} else {
$formulario=Array();
}
?>

<form action="proceso.php"  method="POST">
<inptu type="text" name="nose" value="<? echo $formulario['nose'?>">

etc ...
en tu proceso.php

Código PHP:
<?
session_start
();
$_SESSION['formulario']=$_POST;

// validas .. etc .... si todo OK .. te deshaces de la sesión: unset($_SESSION['formulario']) y si hay errores .. vuelves a tu formulario..

?>
Los objetos de formulario tipo <select> .. radio, checkbox .. tienen sus propiedades de HTML: selected, checked (según corresponda) para indicar que esa opción es la "pre-definida" .. así que a la hora de representar tu "<select> u otros elementos sólo tienes que hacer condicionales tipo:

Código PHP:
if ($formulario['opcion'] == $row['opcion']){
  echo 
"<option value=\"".$row['option']."\" selected>".$row['nose']."</option>";
} else {
  echo 
"<option value=\"".$row['option']."\">".$row['nose']."</option>";

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 19/05/2004 a las 10:03
  #3 (permalink)  
Antiguo 19/05/2004, 10:05
Avatar de mautik  
Fecha de Ingreso: mayo-2004
Mensajes: 149
Antigüedad: 19 años, 11 meses
Puntos: 0
1. primero no te sirve si usas extension html, pasala a php

2. luego has la validacion dentro de la misma pagina para que no se te haga muy complejo

3. una vez validas el campo, supongamos que es de esta forma:

<input name="campo1" type="text">

agrega esto:

<input name="campo1" type="text" value="<? echo $campo1 ?>">

y una vez que regresas te va a cargar en el campo del formulario la variable que revisaste anteriormente

4. claro esta que tienes que hacer la revision de la variable antes de volverla a desplegar para poder corregirla en caso de que no sirva
__________________
123...probando...probando...123
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 13:40.