Foros del Web » Programando para Internet » PHP »

validar campos con php

Estas en el tema de validar campos con php en el foro de PHP en Foros del Web. Hola saludos!! tengo una duda con mi codigo. Lo que hace es validar campos obligatorios con scritp, el caso esta en que le agregue codigo ...
  #1 (permalink)  
Antiguo 15/04/2008, 08:25
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Busqueda validar campos con php

Hola saludos!!
tengo una duda con mi codigo. Lo que hace es validar campos obligatorios con scritp, el caso esta en que le agregue codigo php para q cuando me redireccione mi pag no se actualice la misma en blanco, sino con los campos llenados por el usuario para evitar q el mismo vuelva a llenar todos los campos.. Este codigo solo me funciona bien con los imput y los textarea pero con los select no...

Quisiera q al momento de actualizar solo aparezcan en blanco los campos q no hallan sido llenados(para eso se validaron los script) y el codigo php es para q no se borren los q hallan sido llenado... Alguien podria ayudarme con mi problema??
No se si me expliq bien.. cual cosa me dicen si??

Aca le envio parte del codigo para q vean como esta estructurado mas o menos...


Código HTML:
[PHP]
if(!empty($_POST['txt_nombres']))
{
  $nombres= $_POST['txt_nombres'];
}
else{
  	 $nombres=NULL; 
	}

if(!empty($_POST['txtapellidos']))
{
  $apellidos= $_POST['txtapellidos'];
}
else{
  	 $apellidos=NULL; 
	}
if(!empty($_POST['sel_pas_cedula']))
{
  $nacionalidad= $_POST['sel_pas_cedula'];
}
else{
  $nacionalidad=NULL; 
	}
?>
<SCRIPT type="text/javascript" language="javascript">
function validar_campo()  ////Funcion que valida cada uno de los campos de texto.
{
  if (document.getElementById("txt_nombres").value == ""){
	  alert("Debe ingresar el nombre.");		
	  f1.txt_nombres.focus();
	  return false;
   }
   else{
  if (document.getElementById("txtapellidos").value == ""){	
	     alert("Debe ingresar el apellido.");		
	     f1.txtapellidos.focus();
	     return false;
	  }else{
	     indice = document.getElementById("sel_pas_cedula").selectedIndex;
	     if( indice == null || indice == 0 ) {		
	     alert("Debe seleccionar su nacionalidad.");		
	     f1.sel_pas_cedula.selectedIndex.focus();
	     return false;
	  }else{
 }
}	
}
</SCRIPT>
<form name="f1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>" onSubmit="validar_campo(this)">

<INPUT class="text" id="txt_nombres" size=30 name="txt_nombres" value="<?php if($nombres!=NULL) {echo $nombres;} ?>" >

 <INPUT class="text" id="txtapellidos" size=30 name="txtapellidos" value="<?php if($apellidos!=NULL) {echo $apellidos;} ?>">

 <SELECT  name="sel_pas_cedula" class="text" id="sel_pas_cedula" ><?php if($nacionalidad!=NULL) {echo $nacionalidad;} ?>
				 <OPTION>Seleccione</OPTION>
                   <OPTION value=1>Venezolano(a)</OPTION>
                   <OPTION value=2>Extranjero(a)</OPTION>
                   </SELECT>
 <INPUT type="submit" value="Guardar" name="Submit">
</form> 
  #2 (permalink)  
Antiguo 15/04/2008, 08:36
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: validar campos con php

Hola yeniree,

Para pre-seleccionar una opción en un select, debes de agregarle el atributo de:
Código HTML:
<option value="" selected="selected">opcion</option> 
Para que este pre-seleccionada esa opción.

Saludos.
  #3 (permalink)  
Antiguo 15/04/2008, 08:43
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Re: validar campos con php

hola gracias por tu correccion... pero igual sigue sin funcionar, necesito q cuando actualice mi pag mi select muestre el valor seleccionado por el usuario con los imput y los texarea si sale peero con los select no!
  #4 (permalink)  
Antiguo 15/04/2008, 09:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: validar campos con php

¿Como implementaste tu código?

Saludos.
  #5 (permalink)  
Antiguo 15/04/2008, 09:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: validar campos con php

También mira revisa este tema: http://www.forosdelweb.com/f18/menu-...tos-db-575886/

Saludos.
  #6 (permalink)  
Antiguo 15/04/2008, 09:36
 
Fecha de Ingreso: abril-2008
Mensajes: 7
Antigüedad: 16 años
Puntos: 0
Re: validar campos con php

bueno le agregue al opcion lo q tu me dijiste... le agregue <option value="" selected="selected"> que no lo tenia... creo q no me haz entendido mi duda..
quiero q al momento de actualizar mi pag aparezca seleccionado mi campo... es decir, q el usaurio no tenga q seleccionarlo de nuevo... El script q tiene mi codigo al inicio es para validar los campos, si valida perfectamente mi select el rollo esta con el codigo php q es quien me redirecciona mi pag con los campos llenados por el usuario sin q tenga q volverlos a llenar... ojo esto se cumple si y solo si, el usuario deja campos en blancos y por lo mismo sale el erros... si no me entiendes pregunta...

Código HTML:
<SELECT  name="sel_pas_cedula" class="text" id="sel_pas_cedula" ><?php if($nacionalidad!=NULL) {echo $nacionalidad;} ?>

		<option value="" selected="selected">Seleccione</OPTION>
                 <OPTION value=1>Venezolano(a)</OPTION>
                 <OPTION value=2>Extranjero(a)</OPTION>
                </SELECT> 
  #7 (permalink)  
Antiguo 15/04/2008, 11:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: validar campos con php

Como te comente en un principio, debes de agregarle el atributo de selected a la opción que tu quieras seleccionar, en el código que pones, se la agregas a la opción de Seleccione, pero debes tu de comparar por cada opción y agregarle al que quieras seleccionar.

Saludos.
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 08:44.