Foros del Web » Programando para Internet » PHP »

Sencillo

Estas en el tema de Sencillo en el foro de PHP en Foros del Web. A partir de un formulario chequeo los datos que me llegan y veo que hay un error, cual es la manera mas fácil de devolverle ...
  #1 (permalink)  
Antiguo 09/02/2004, 19:54
 
Fecha de Ingreso: noviembre-2003
Mensajes: 61
Antigüedad: 21 años
Puntos: 0
Sencillo

A partir de un formulario chequeo los datos que me llegan y veo que hay un error, cual es la manera mas fácil de devolverle el formulario sin necesidad de borrar todos los campos que ya habia escrito, solo con alguna marca en el campo donde estuvo el error?

estaba usando algo así:

if(empty($variable))
{
echo "Error: el campo tal esta vacio";
include 'formulario.php';
exit();
}
Pero esto devuelve el formulario vacio
Gracias de antemano.
  #2 (permalink)  
Antiguo 09/02/2004, 20:29
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 1 mes
Puntos: 1
De acuerdo trata con esto

suponiendo que tienes un formulario con un solo campo de tipo texto:

<form name="miformulario" action="proceso.php" methiod="post">
Nombre: <input type"text" name="campo" id="campo" value="<?php if(isset($_POST['campo]'))echo $_POST['campo']; ?>">
<?php if(isset($alerta_campo))echo $alerta_campo; ?>
</form>

Simplemente verificas si te esta llegando una varable por POST (suponiendo que sea el método que tienes en tu formulario) y si ya llegó pues la pones como valor predeterminado... alerta es una variable que debes iniciar cuando detectes el problema en ese campo específico... ah y me falto poner alguna condición para que si alerta esta inicializada, no ponga ese valor en el campo.

Generalmente es mejor validar primero es formulario con javascript, aunque ciertamente hay algunas cosas que se deben validar con php.

dudas? otro mejor método?

saludos
  #3 (permalink)  
Antiguo 09/02/2004, 20:45
 
Fecha de Ingreso: noviembre-2003
Mensajes: 61
Antigüedad: 21 años
Puntos: 0
No tan sencillo

El formulario esta formado a partir de otro formulario donde pregunto cuantos campos va a tener el primer formulario ario ario ario.
1er FORM
Numero de campos<input type=text name=campos>

2do FORM
for($i=1;$i<=$campos;$i++)
{
echo "<input type=text name=campo$i><br>";
}

agarro los campos y verifico en verifico.php.

Paseo con las variables por todos los forms?
Algun codigo sencillo en java para chquear campos vacios o repetidos?
Gracias
  #4 (permalink)  
Antiguo 09/02/2004, 21:02
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Cita:
Paseo con las variables por todos los forms?
En principio debes propagar ("pasear") todas tus variables entre los scripts que saltes (tus validaciones y demás) hasta llegar a tu formulario en caso de una validación no correcta.

Esa "propagación" de variables puedes hacerlas por el URL .. pero también tienes cookies o sesiones. Sobre todo esta última es bastante útil para estos casos.

Cita:
Algun codigo sencillo en java para chquear campos vacios o repetidos?
En el foro de Javascript y sus FAQ's seguro que encuentras la solución o puedes preguntar eso. De todas formas no te olvides NUNCA de validar en última instanacia todo variable en el servidor (en PHP) como medida de seguridad. Las validaciones "javascript" si bien le dan a la apliación cierta "usabilidad" .. no son 100% seguras.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 09/02/2004, 23:32
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 21 años, 1 mes
Puntos: 1
con javascript puedes mandar llamar el arreglo elements[] el cual contiene todos los elementos desplegados en la forma
por ejemplo si tu forma se llama "pincheforma"
puedes acceder al primer elemento a través de
document.pincheforma.elements[0];

suponiendo que los campos que generas con php empiezan a partir del elemento 5 puedes usar un while en javascript de la siguiente manera:

function valida(cantidad)
f = document.getElementById("pincheforma");
i = 5;
while(i <= cantidad)
{
if(f.elements[i].value == "")
alert("Debes llenar el campo "+f.elements[i].name);
i++;
}
ya se le pueden agregar mas cosas, como el submit si no encuentra errores...
mas detalles en el foro de js... :P sorry cluster
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 21:23.