+ Responder Tema
Resultados 1 al 11 de 11

Tema: Formulario como crear campos requeridos ?

  1. #1
    Recien Llegado! Habitante elmaestrocarlos Está en el buen camino
    Fecha de Ingreso
    02 feb, 09
    Mensajes
    18
    Poder de Reputación
    5

    Formulario como crear campos requeridos ?

    he creado un formulario con php y funciona muy bien pero...
    Una vez que coloco en action="verificacion.php" o sea el nombre de la pagina donde debe colocar los datos inidicados para ser verificado por el usuario no me toma en cuenta los campos requeridos y me lo envia a esa pagina pese a que hay campos no rellenados...
    intenté de muchas maneras pero no lo logro, si quito de action el nombre del archivo donde quiero que verifique los datos si funcinona pero sino no ....
    Ayuda por favor , les dejo a continuacion el codigo :
    Código:
    <?php 
    	$primeravez = false;
    	if (empty ($_POST["enviar"]))
    		{
    			$primeravez = true; 
    			$_POST["nombre"] = "";
    			$_POST["apellido"] = "";
    			$_POST["email"] = "";
    		}
    ?>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento sin t&iacute;tulo</title>
    </head>
    
    <body>
    <body>
    
    <form action="verificacion.php" method="post" name="basico">
    <table>
    	<tr>
    		<td>Nombre:</td>
    		<td><input name="nombre" type="text" /></td>
    	</tr> 
    	<?php if (empty ($_POST["nombre"]) && (!$primeravez)){
            echo "<tr><td></td><td>¡Debe introducir su Nombre!</td></tr>";}
            else echo $_POST["nombre"];
        ?> 
    	<tr>
    		<td>Apellido:</td>
    		<td><input name="apellido" type="text" /></td>
    	</tr>
    	<?php if (empty ($_POST["apellido"]) && (!$primeravez)){
            echo "<tr><td></td><td>¡Debe introducir su Apellido!</td></tr>";}
            else echo $_POST["apellido"];
        ?> 
    	<tr>
    		<td>Email:</td>
    		<td><input name="email" type="text" /></td>
    	</tr>
    	<?php if (empty ($_POST["email"]) && (!$primeravez)){
            echo "<tr><td></td><td>¡Debe introducir su Apellido!</td></tr>";}
            else echo $_POST["email"];
        ?> 
    	
    	<tr>
    		<td><input name="enviar" type="submit" value="Enviar"/></td>
    		<td><input name="" type="reset" value="Borrar"/></td>
    	</tr>
    </table>
    </form>
    
    
    </body>
    </html>
    y la pagina de verificacion es esta:

    Código:
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Documento sin t&iacute;tulo</title>
    </head>
    
    <body>
    
    
    Nombre: <?php echo $_POST["nombre"]; ?> </p>
    
    
    Nombre: <?php echo $_POST["apellido"]; ?> </p>
    
    
    Nombre: <?php echo $_POST["email"]; ?> </p>
    </body>
    </html>
    Siento que es algo sencillo pero no consigo hacerlo , de seguro se puede hacer un formulario para validar en php, tal vez sepan otra manera de hacerlo.... Gracias

  2. #2
    Esto empieza a ser un vicio... Habitante reymolina123 Está en el buen camino
    Fecha de Ingreso
    14 may, 09
    Mensajes
    334
    Poder de Reputación
    6
    no se que diferencia hay pero lo hice con java script esto te lo da el dreamweaver si lo tienes te explico como hacerlo con el dreamweaver sino ya buscaremos otra solucion pero primero lo primero tien DW

  3. #3
    Recien Llegado! Habitante elmaestrocarlos Está en el buen camino
    Fecha de Ingreso
    02 feb, 09
    Mensajes
    18
    Poder de Reputación
    5
    Sé como hacerlo con javascritp , gracias igual, el tema es hacerlo con php para que el usuario no pueda inhabilitarlo como sucede con javascrtip si sabes como con php te agradezco

  4. #4
    Me va gustando esto... Habitante Alpolo Está en el buen camino
    Fecha de Ingreso
    31 ene, 09
    Ubicación
    colombia
    Mensajes
    151
    Poder de Reputación
    5
    Hola el maestro carlos..

    Yote puedo ayudar con un codigo echo en php y pues en este momento no te lo puedo pasar ok..

    Espere un tantido ok..

    Saludos..
    <!--------- Mis web -------->
    http://alpolo-natural.freevar.com
    http://alpolo-natural.ueuo.com
    Alfonso G P::

  5. #5
    Me va gustando esto... Habitante Alpolo Está en el buen camino
    Fecha de Ingreso
    31 ene, 09
    Ubicación
    colombia
    Mensajes
    151
    Poder de Reputación
    5
    Hola..

    Pues bien vamos ha empezar ok..


    Puedes llamar esta página contactar.php
    Código:
    <html>
        <head>
           <title> Web de Prueba de Contacto </title>
        </head>
        <body>
    
           
            <?php
                  //crearemos un if que la pulsar el boton enviar ejecute un else ok..
                 if(!$_POST['enviar']){
    			 //Cerramos la etiquetas php y Empazamos con el codigo html que es lo más complicado..
    		?>
    				<form action="contactar.php" method="post" name="basico">
    					<table border="0">
    						<tr>
    							<td>Nombre:</td>
    							<td><input name="nombre" type="text" /></td>
    						</tr>			
    						<tr>
    							<td>Apellido:</td>
    							<td><input name="apellido" type="text" /></td>
    						</tr>
    						<tr>
    							<td>Email:</td>
    							<td><input name="email" type="text" /></td>
    						</tr>
    						<tr>
    							<td><input name="enviar" type="submit" value="Enviar"/></td>
    							<td><input name="" type="reset" value="Borrar"/></td>
    						</tr>
    					</table> 
    				</form>
    		<?php
    			//Abrimos las etiquetas de php y cerramos el if para empesar con el else, que es el que va a validar todo ok..
    			}else{
    			//Primero creamos la varievles de cada campo del form y pines una función preconstruidad de php para que no permita caracteres especiales ok......
    				$nombre = stripcslashes($_POST['nombre']);
    				$apellido = stripcslashes($_POST['apellido']);
    				$email = stripcslashes($_POST['email']);
    				//Creamos una varivles que va a contener la function array(), que es la que se va a encargar de ejecutar los errores ok..
    				//La llamamos $errores = array(); ....
    				
    				$errores = array();
    				
    				//Una vez tengamos definidas la variables $errores y las varibles del campo del form entonces empezamos a crear los if de validación ok..
    				
    				if(!$nombre){
    					$errores[] = "No ha definido el Nombre..!\n";
    				}
    				
    				if(!$apellido){
    					$errores[] = "No ha definodo el Apellido..!\n";
    				}
    				
    				if(!$email){
    					$errores[] = "No ha definido el mail..!\n";
    				}
    				
    				//una ves tengamos definodo las validaciones al no ingresar ningun datos en el form se ejecutaria, pero falta para que se ejecuten ok..
    				
    				//Hacemos la validacion del form al no tener la palabra clave el arroba @, entonces ejecuta un error..
    				
    				if($email){
    					$checkemail = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i\n";
    					if(!preg_match($checkemail,$email)){
    						$errores[] = "El E-Mail no es v&aacute;lido, deber ser ejemplo@ejemplo.com..!\n";
    					}
    				}
    				
    				//podrimos sergin dandole validaciones pero creo que aqui acaba.. Seri validar que campo podria terner de 10 a 10000, pero dejemola haci te parace jaja..
    				
    				// teniendo validado los campo del form entonces creariamos un function preconstruidad de php de esta forma, para que cuente lo erreres que pueden haber ok..
    				
    				if(count($errores) > 0){
    					foreach($errores AS $error)
    						//si encuentra algun error lo q hace el echo es imprimirla en pantalla ok..
    						echo $error."
    \n";
    				}else{
    					//En caso de no encontra error ejecuta el else..
    					// y entonce creariamos la function mail de php para que envie los datos ok..
    					$TuMail = "Tumail@inf.com\n";
    					$asunto = "Pruba de mi web...\n";
    					$mensaje = "
    						Nombre: $nombre \n\n
    						Apellido: $apellido \n\n
    						E-Mail: $email \n\n";
    					if(mail($TuMail,$asunto,$mensaje)){
    						echo "Tu mensaje fue envia con Ex&iacute;to, muy pronto nos pondremos en contacto con $nombre $apellido \n\n";
    					}else{
    						echo "Tu mensaje no se a podido Enviar debido a un problema de la Function Mail.. Puedeser que este desahabilitada..!\n";
    					}
    				}
    			}
            ?>
    
       </body>
    </html>
    
    
    Espero que no fue tantarde la respuesta ok..
    
    Saludos..
    
    Alpolo..
    <!--------- Mis web -------->
    http://alpolo-natural.freevar.com
    http://alpolo-natural.ueuo.com
    Alfonso G P::

  6. #6
    Recien Llegado! Habitante elmaestrocarlos Está en el buen camino
    Fecha de Ingreso
    02 feb, 09
    Mensajes
    18
    Poder de Reputación
    5
    Bueno muchas gracias en verdad...
    Estamos avanzando pero aún no logró lo que quiero...
    Probé tu form y funciona muy bien...
    Ahora el tema es que este formulario está pensado para llenar varios datos, y cuando la persona coloca uno mal o le falta otro ... se borra todo...
    Mi idea era que la advertencia saliera junto con el fromulario en el lugar donde falta el dato o es incorrecto y los demás se mantubieran
    Perdón si es mucho lo que pido ...
    Gracias desde ya de todo corazón

  7. #7
    Recien Llegado! Habitante elmaestrocarlos Está en el buen camino
    Fecha de Ingreso
    02 feb, 09
    Mensajes
    18
    Poder de Reputación
    5
    Acabo de volver a probar lo que me pasaste y si no borra los datos bien colocados , eso es buenisimo pero sale en otra hoja la advertencia como hacer que salga encima del formulario para no tener que retroceder...
    Gracias y perdon las molestias

  8. #8
    Me va gustando esto... Habitante Alpolo Está en el buen camino
    Fecha de Ingreso
    31 ene, 09
    Ubicación
    colombia
    Mensajes
    151
    Poder de Reputación
    5
    Hola..

    Tu voy a explicar de una forma muy sencilla ok..

    Digamos que tu quieres que la persona al pulsar sobre enviar y no halla introducido nada en algunos de los campos le salga el error, digamos que en esta ocación arriba, y que el formulario quede listo para escrbir de nuevo ok si es asi esta puede ser una forma ..

    Primero podemos hacer una funcion y llamarla form, esa funcion va ha tener todo el form html y le hacemos el llamado en donde se ejecuta el error..

    Código:
    <?php
    
    //Declaramos la funtion de esta form ok..
    function form(){
    
    //cerramos las etiquetas php y introducimos el codigo html ok..
    ?>
    
    
    
    <?php
    //Abrimos las etiquetas php de nuevo para cerrar la funcion ..
    }
    
    // cerramos las etiquetas php de nuevo ok..
    
    ?>
    Una vez tengamos declara la funcion lo que hacemos es llamarla donde queramos que aparesca, en este caso queremos que aparesca en donde se ejecuta el error para que se muestre en pantalla..

    seria en esta parte del codigo php..

    Código:
    <?php
    
        if(count($errores) > 0){ 
                   foreach($errores AS $error) 
                      echo $error."
    \n";
        // hacemos el llamado a la function que hemos declarado anterior ok..
            form();
    }else{
    // ejecuta la funcion si todo sale correcto..
    }
    
    ?>
    De esa forma al enviar el form y no llanaron los datos requerido se imprime en pantalla el error y se muestra el form de nuevo ok..

    Espero hayas entendido ok..

    Saludos.. :D
    <!--------- Mis web -------->
    http://alpolo-natural.freevar.com
    http://alpolo-natural.ueuo.com
    Alfonso G P::

  9. #9
    Recien Llegado! Habitante elmaestrocarlos Está en el buen camino
    Fecha de Ingreso
    02 feb, 09
    Mensajes
    18
    Poder de Reputación
    5
    :D
    Mil gracias!!!
    Funciona muy bien , de película el único inconveniente es que si hay un error el usuario tiene que volver a rellenar todos los datos.
    De todos modos me va muy bien seguiré investigando como solucionar este pequeño inveniente, lo que pasa es que el formulario tiene muchos datos...
    Lo de mastrocarlos, como verás no es por ser un maestro de la web, sino por dedicarme además a la educación infantil...
    Gracias por tu ayuda desinteresada, probé en más de un foro y no supieron resolverlo como uds... eso hace la diferencia, tampoco se preocuparon por entender lo que les pedía, nuevamente gracias...
    Si sabes como solucionar lo anteriormente dicho te agradeceré nuevamente y sino no hay ningún problema has hecho mucho ya...
    Pienso reomendar esta sitio en la web ... se lo merecen

  10. #10
    Recien Llegado! Habitante elmaestrocarlos Está en el buen camino
    Fecha de Ingreso
    02 feb, 09
    Mensajes
    18
    Poder de Reputación
    5
    LO RESOLVÍ!!!
    Hay amigo no me lo puedo creer... pero lo resolví , utilizando algo que tenía en el primer formulario que cree.
    Coloque el siguiente código en el formulario que se encuentra en la funcion form:
    Código:
    value="<?php echo $_POST['nombre']; ?>"
    Es decir, agregué un valor a cada campo para que fuera llenado en caso de que estuviera completo...
    Gracias sin tu ayuda no lo prodría haber logrado me ayudaste a superar el peor escollo... Me parecía oportuno compartir contigo esto úlitmo que descubrí... además capaz le sirve a algún otro que andaba por la web como yo como loco buscando ayuda
    Hasta pronto

  11. #11
    Me va gustando esto... Habitante Alpolo Está en el buen camino
    Fecha de Ingreso
    31 ene, 09
    Ubicación
    colombia
    Mensajes
    151
    Poder de Reputación
    5
    Hola..

    Me alegra que hayas descuvierto el ultimo problemita que te faltava de verdad..

    Suerte y Saludos..

    Alpolo
    <!--------- Mis web -------->
    http://alpolo-natural.freevar.com
    http://alpolo-natural.ueuo.com
    Alfonso G P::

+ Responder Tema

Temas Similares

  1. como ago para que los campos de un formulario se vea!
    Por rodriweb12 en el foro Formularios
    Respuestas: 1
    Último Mensaje: 03/09/2009, 06:02
  2. FORMULARIO DE DOS CAMPOS, uno email otro pasword
    Por bailat62 en el foro Formularios
    Respuestas: 4
    Último Mensaje: 14/01/2008, 20:51

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes