PHP - Validar campo de un formulario

 
Vista:
sin imagen de perfil

Validar campo de un formulario

Publicado por Alfred (2 intervenciones) el 17/04/2016 02:10:58
Buenas, soy estudiante y actualmente tengo una duda, deseo que al momento de colocar la fecha de nacimiento me salga al lado otro campo que me diga la edad de la persona. El cálculo lo hace y me muestra el campo solo cuando presiono "Enviar" El código de lo que intento hacer lo dejo a continuación. Espero haberme explicado bien para que me puedan ayudar. De ante mano gracias.

PD: Estoy utilizando MaterializeCss por eso las class.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<section> <!-- Inicio Formulario -->
	<div id="formularioPhp" class="container teal darken-3">
		<h2 class="center white-text" >Solicitud de cita</h2>
		<form class="col s12" method="post" action='index.php' class="formulario">
			<div class="row"> <!-- Primera Fila -->
				<div class="input-field col s12 m4">
					<input placeholder="Ingrese su nombre" name="nombre" type="text" class="teal-text lighten-5" autofocus>
					<label class="white-text">Nombre</label>
				</div>
 
				<div class="input-field col s12 m4">
					<input placeholder="Ingrese su apellido" name="apellido" type="text" class="teal-text lighten-5">
					<label class="white-text">Apellido</label>
				</div>
 
				<div class="input-field col s12 m4">
					<input placeholder="Ingrese su numero de cecula" name="cedula" type="text" class="teal-text lighten-5">
					<label class="white-text">Cedula</label>
				</div>
			</div> <!-- Fin fila -->
 
			<div class="row"> <!-- Segunda fila -->
				<div class="input-field col s12 m4">
					<select class="teal-text lighten-5"name="sexo">
							<option value="" disabled selected>Seleccione sexo.</option>
							<option value="1">Femenino</option>
							<option value="2">Masculino</option>
					</select>
					<label class="white-text">Sexo</label>
				</div>
 
				<div class="input-field col s12 m4">
					<input type="date" name="fechaNacimiento" placeholder="Selecciones una fecha"class="datepickerFN teal-text lighten-5">
					<label class="white-text">Fecha de nacimiento</label>
				</div>
 
				<?php
				if(isset($_POST['fechaNacimiento'])){
					$diaActual=date("d");
					$mesActual=date("m");
					$anhoActual=date("Y");
 
					$nacimiento = $_POST['fechaNacimiento'];
					$fechaNacimiento=explode("/",$nacimiento);
					$anhoNacimiento=$fechaNacimiento[2];
					$mesNacimiento=$fechaNacimiento[1];
					$diaNacimiento=$fechaNacimiento[0];
 
					$edad=$anhoActual-$anhoNacimiento;
 
					if($mesNacimiento > $mesActual){
							$edad=$edad-1;
						}elseif ($diaNacimiento > $diaActual) {
							$edad=$edad-1;
						}
					echo "<div class='input-field col s12 m4'>
							<input name='edad' type='text' class='teal-text lighten-5' value='$edad'>
							<label class='white-text'>Edad</label>
						</div>";
				}
			?>
			</div> <!-- Fin Fila -->
 
			<div class="row center">
				<input type="submit" name="enviar" value="Enviar" class="btn-flat btn-large white-text">
				<input type="reset" name="resetear" value="Cancelar" class="btn-flat btn-large white-text">
			</div>
		</form>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de VRM
Val: 152
Ha disminuido su posición en 6 puestos en PHP (en relación al último mes)
Gráfica de PHP

Validar campo de un formulario

Publicado por VRM (192 intervenciones) el 17/04/2016 08:16:09
Hola:

Para que te salga la edad antes de mandar el formulario tienes que hacerlo en javascript. En el input de la fecha de nacimiento escribes:
onChange='calculaEdad();'
la función calculaEdad() debería primero ver si la fecha está completa y si lo está calcula la edad, y lo muestra en el input correspondiente. Este input yo lo crearía con html y lo dejaría oculto (con CSS) y la función anterior se ocuparía de rellenar su contenido y hacerlo visible.

Saludos de Víctor.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Validar campo de un formulario

Publicado por Airy Fabián (8 intervenciones) el 19/04/2016 01:23:26
Saludos, estoy totalmente de acuerdo con la solución planteada, si no deseas usar un input, crea un div y muestra el resultado con ajax.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar