Guest User

Untitled

a guest
Jun 19th, 2018
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.86 KB | None | 0 0
  1. <center>
  2. <b>Ingrese las fechas con formato dd/mm/yyyy</b>
  3. <br>
  4. <br>
  5. <form name="form1" method="post" action="">
  6. Fecha de nacimiento del empleado 1:
  7. <input name="dia1" type="text" MaxLength="2" size="2" />/
  8. <input name="mes1" type="text" MaxLength="2" size="2" />/
  9. <input name="ano1" type="text" MaxLength="4" size="4" />
  10. <br>
  11. Fecha de nacimiento del empleado 2:
  12. <input name="dia2" type="text" MaxLength="2" size="2" />/
  13. <input name="mes2" type="text" MaxLength="2" size="2" />/
  14. <input name="ano2" type="text" MaxLength="4" size="4" />
  15. <br>
  16. Fecha de nacimiento del empleado 3:
  17. <input name="dia3" type="text" MaxLength="2" size="2" />/
  18. <input name="mes3" type="text" MaxLength="2" size="2" />/
  19. <input name="ano3" type="text" MaxLength="4" size="4" />
  20. <br><br>
  21. <input type="submit" value="Enviar"/>
  22. </form>
  23.  
  24. <?
  25. //Fecha nacimiento empleado 1 - "e1"
  26. $ano1 = $_POST['ano1'];
  27. $mes1 = $_POST['mes1'];
  28. $dia1 = $_POST['dia1'];
  29.  
  30. //Fecha nacimiento empleado 2 - "e2"
  31. $ano2 = $_POST['ano2'];
  32. $mes2 = $_POST['mes2'];
  33. $dia2 = $_POST['dia2'];
  34.  
  35. //Fecha nacimiento empleado 3 - "e3"
  36. $ano3 = $_POST['ano3'];
  37. $mes3 = $_POST['mes3'];
  38. $dia3 = $_POST['dia3'];
  39.  
  40. //Fecha actual
  41. $anoa = date('Y');
  42. $mesa = date('m');
  43. $diaa = date('d');
  44.  
  45. //Ordeno las fechas
  46. $timestamp1 = mktime(0,0,0,$mes1,$dia1,$ano1);
  47. $timestamp2 = mktime(0,0,0,$mes2,$dia2,$ano2);
  48. $timestamp3 = mktime(0,0,0,$mes3,$dia3,$ano3);
  49. $timestamp4 = mktime(0,0,0,$mesa,$diaa,$anoa);
  50.  
  51. //Obtendo la diferencia de las fechas de nacimiento de los empleados y la fecha actual en segundos
  52. $sdif1 = $timestamp1 - $timestamp4;
  53. $sdif2 = $timestamp2 - $timestamp4;
  54. $sdif3 = $timestamp3 - $timestamp4;
  55.  
  56. //Convierto los segundos en días
  57. $ddif1 = $sdif1 / (60 * 60 * 24);
  58. $ddif2 = $sdif2 / (60 * 60 * 24);
  59. $ddif3 = $sdif3 / (60 * 60 * 24);
  60.  
  61. //Tomo los dias y quito los posibles negativos
  62. $ddif1 = abs($ddif1);
  63. $ddif2 = abs($ddif2);
  64. $ddif3 = abs($ddif3);
  65.  
  66. //Calculo las edades dividiendo por los dias del año, contando los años bisiestos, y quito los decimales
  67. $e1 = floor($ddif1/365.25);
  68. $e2 = floor($ddif2/365.25);
  69. $e3 = floor($ddif3/365.25);
  70.  
  71.  
  72. //Una ves obtenidas las edades comienzo a ordenar de menor a mayor
  73.  
  74.  
  75. if ($dia1!=NULL) {
  76. if ($mes1!=NULL) {
  77. if ($ano1!=NULL) {
  78. if ($dia2!=NULL) {
  79. if ($mes2!=NULL) {
  80. if ($ano2!=NULL) {
  81. if ($dia3!=NULL) {
  82. if ($mes3!=NULL) {
  83. if ($ano3!=NULL) {
  84.  
  85. if (($e1>$e2) && ($e2>$e3)) {
  86.  
  87. echo "El empleado 3, de ".$e3." años, es el menor.<br>El empleado 2, de ".$e2." años, el de edad media.<br>El empleado 1, de ".$e1." años, es el mayor.<br>";
  88.  
  89. }
  90.  
  91. if (($e1>$e3) && ($e3>$e2)) {
  92.  
  93. echo "El empleado 2, de ".$e2." años, es el menor.<br>El empleado 3, de ".$e3." años, el de edad media.<br>El empleado 1, de ".$e1." años, es el mayor.<br>";
  94.  
  95. }
  96.  
  97. if (($e2>$e3) && ($e3>$e1)) {
  98.  
  99. echo "El empleado 1, de ".$e1." años, es el menor.<br>El empleado 3, de ".$e3." años, el de edad media.<br>El empleado 2, de ".$e2." años, es el mayor.<br>";
  100.  
  101. }
  102.  
  103. if (($e2>$e1) && ($e1>$e3)) {
  104.  
  105. echo "El empleado 3, de ".$e3." años, es el menor.<br>El empleado 1, de ".$e1." años, el de edad media.<br>El empleado 2, de ".$e2." años, es el mayor.<br>";
  106.  
  107. }
  108.  
  109. if (($e3>$e2) && ($e2>$e1)) {
  110.  
  111. echo "El empleado 1, de ".$e1." años, es el menor.<br>El empleado 2, de ".$e2." años, el de edad media.<br>El empleado 3, de ".$e3." años, es el mayor.<br>";
  112.  
  113. }
  114.  
  115. if (($e3>$e1) && ($e1>$e2)) {
  116.  
  117. echo "El empleado 2, de ".$e2." años, es el menor.<br>El empleado 1, de ".$e1." años, el de edad media.<br>El empleado 3, de ".$e3." años, es el mayor.<br>";
  118.  
  119. }
  120.  
  121. if (($e1==$e2) && ($e1>$e3)) {
  122.  
  123. echo "Los empleados 1 y 2 tienen ".$e1." años y son los mayores.<br>El empleado 3, de ".$e3." años, es el menor.<br>";
  124.  
  125. }
  126.  
  127. if (($e1==$e2) && ($e3>$e1)) {
  128.  
  129. echo "El empleado 3, de ".$e3." años, es el mayor.<br> Los empleados 1 y 2 tienen ".$e1." años y son los menores.<br>";
  130.  
  131. }
  132.  
  133. if (($e1==$e3) && ($e1>$e2)) {
  134.  
  135. echo "Los empleados 1 y 3 tienen ".$e1." años y son los mayores.<br>El empleado 2, de ".$e2." años, es el menor.<br>";
  136.  
  137. }
  138.  
  139. if (($e1==$e3) && ($e2>$e1)) {
  140.  
  141. echo "El empleado 2, de ".$e2." años, es el mayor.<br> Los empleados 1 y 3 tienen ".$e1." años y son los menores.<br>";
  142.  
  143. }
  144.  
  145. if (($e2==$e3) && ($e2>$e1)) {
  146.  
  147. echo "Los empleados 2 y 3 tienen ".$e2." años y son los mayores.<br>El empleado 1, de ".$e1." años, es el menor.<br>";
  148.  
  149. }
  150.  
  151. if (($e2==$e3) && ($e1>$e2)) {
  152.  
  153. echo "El empleado 1, de ".$e1." años, es el mayor.<br> Los empleados 2 y 3 tienen ".$e2." años y son los menores.<br>";
  154.  
  155. }
  156.  
  157. if (($e1==$e2) && ($e2==$e3)) {
  158.  
  159. echo "Los empleados 1, 2 y 3 tienen ".$e1." años.<br>";
  160.  
  161. }
  162.  
  163. }
  164. }
  165. }
  166. }
  167. }
  168. }
  169. }
  170. }
  171. }
  172. else {
  173. echo "Aun no ingresó fechas.";
  174. }
  175.  
  176. echo "<br><hr><br>";
  177. echo "Usted ingresó la fecha de nacimiento - ".$dia1."/".$mes1."/".$ano1." - para el empleado 1.<br>";
  178. echo "Usted ingresó la fecha de nacimiento - ".$dia2."/".$mes2."/".$ano2." - para el empleado 2.<br>";
  179. echo "Usted ingresó la fecha de nacimiento - ".$dia3."/".$mes3."/".$ano3." - para el empleado 3.<br>";
  180. echo "Hoy, según la fecha indicada por su ordenador, es: ".$diaa."/".$mesa."/".$anoa;
  181.  
  182. //La linea siguiente no debería estar en el programa, es una explicación sobre lo que aun no funciona y el porqué se programó como se programó.
  183. echo "<br><br><b>(Lo que sigue no pertenece al programa)</b><br><br>El código debe ser sencillo con IFs para que lo entienda gente que no se dedica a la programación, por ello usé esta estructura (aún me falta aclarar para que sirven los IF).<br>
  184. La variable mktime presenta fallos al dejar campos incompletos. Me gustaria que al dejar incompleto algún campo se muestre -Aun no ingresó fechas.- tal como está pero sin devolver los errores que devuelve (pueden hacer simplemente clic en ENVIAR sin rellenar nada y verán el error resultante, si se completan algunos campos y otros no habrán más errores con mktime).<br>
  185. No se si habrá algún otro error. Desde ya gracias, pueden enviar el resultado a nehuenescaladablog@gmail.com o responder por otro medio, como twitter, el formulario del blog o identi.ca, si lo desean.";
  186.  
  187. ?></center>
Add Comment
Please, Sign In to add comment