Ver Mensaje Individual
  #16 (permalink)  
Antiguo 31/07/2014, 08:05
Avatar de rodrypaladin
rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
Respuesta: Mejor forma de validar formuario

El formulario antes de poner el código que procesa el formulario no da errores y funciona bien, pero al añadir el código sale eso, he revisado el código que he añadido pero no encuentro que falte algun cierre de }. Volveré a revisar.

EDITO: Encontré donde poner un corchete de cierre y al ponerlo ya no salta el error y ejecuta la página, pero en cambio no realiza la ejecución del formulario. Seguiré revisando.

Código PHP:
Ver original
  1. if(count($errores) == 0) {
  2.         echo "Se procesa el formulario.";
  3.     }

Muestra el echo correctamente. Pero si añado el código que procesa el formulario aparece lo que comenté antes.
Código PHP:
Ver original
  1. if($genero == "masculino") {
  2.     $esperanza_de_vida = rand(75,85);
  3. } else { $esperanza_de_vida = rand(80,90); }
  4. //calcular imc
  5. $altura_en_metros = $altura / 100;
  6. $imc = $altura_en_metros * $altura_en_metros;
  7. $imc_final = round($peso / $imc,1);
  8.  
  9. if($imc_final < 18) {
  10.     $estado_imc = 1;
  11. } elseif($imc_final >= 18 and $imc_final < 24.9) {
  12.     $estado_imc = 2;
  13. } elseif($imc_final >= 25 and $imc_final < 26.9) {
  14.     $estado_imc = 3;
  15. } elseif($imc_final >= 27 and $imc_final < 29.9) {
  16.     $estado_imc = 4;
  17. } elseif($imc_final >= 30 and $imc_final < 39.9) {
  18.     $estado_imc= 5;
  19. } elseif($imc_final > 40) {
  20.     $estado_imc = 6;
  21. }
  22.  
  23. $edad_restada_imc = 0;
  24. if($estado_imc == 1) {
  25.     $edad_restada_imc = $edad_restada_imc + 5;
  26. } elseif($estado_imc == 3) {
  27.     $edad_restada_imc = $edad_restada_imc + 5;
  28. } elseif($estado_imc == 4) {
  29.     $edad_restada_imc = $edad_restada_imc + 7;
  30. } elseif($estado_imc == 5) {
  31.     $edad_restada_imc = $edad_restada_imc + 10;
  32. } elseif($estado_imc == 6) {
  33.     $edad_restada_imc = $edad_restada_imc + 15;
  34.  
  35. if($_POST['fumar'] == "si") {
  36.     $cigarrillos_al_ano = $_POST['cigarrillos'] * 365;
  37.     $cigarrillos_totales_fumados = $cigarrillos_al_ano * $_POST['tiempofumando'];
  38.     $los_anos_que_quedan_por_fumar = ($esperanza_de_vida - $edad);
  39.     $cigarrillos_que_quedan_por_fumar = $los_anos_que_quedan_por_fumar * $cigarrillos_al_ano;
  40.     $suma_ambos = $cigarrillos_totales_fumados + $cigarrillos_que_quedan_por_fumar;
  41.     $pasar_a_minutos = $suma_ambos * 11;
  42.     $pasar_a_horas = $pasar_a_minutos / 60;
  43.     $pasar_a_dias = $pasar_a_horas / 24;
  44.     $pasar_a_anos = round($pasar_a_dias / 365);
  45. } else { $pasar_a_anos = 0; }
  46.  
  47. $edad_restada_alcohol = 0;
  48. if($_POST['beber'] == "apenas") {
  49.     $edad_restada_alcohol = $edad_restada_alcohol + 1;
  50. } elseif($_POST['beber'] == "fines") {
  51.     $edad_restada_alcohol = $edad_restada_alcohol + 2;
  52. } elseif($_POST['beber'] == "bastante") {
  53.     $edad_restada_alcohol = $edad_restada_alcohol + 4;
  54. } elseif($_POST['beber'] == "todoslosdias") {
  55.     $edad_restada_alcohol = $edad_restada_alcohol + 5;
  56. } elseif($_POST['beber'] == "alcoholico") {
  57.     $edad_restada_alcohol = $edad_restada_alcohol +15;
  58. }
  59.  
  60. if($_POST['drogas'] == "si") {
  61.     if($_POST['tipodrogas'] == "blandas" and $_POST['cadacuantodrogas'] == "apenas") {
  62.     $restado_por_drogas = 2; }
  63.     elseif($_POST['tipodrogas'] == "blandas" and $_POST['cadacuantodrogas'] == "amenudo") {
  64.     $restado_por_drogas = 4; }
  65.     elseif($_POST['tipodrogas'] == "blandas" and $_POST['cadacuantodrogas'] == "demasiado") {
  66.     $restado_por_drogas = 6; }
  67.     elseif($_POST['tipodrogas'] == "duras" and $_POST['cadacuantodrogas'] == "apenas") {
  68.     $restado_por_drogas = 6; }
  69.     elseif($_POST['tipodrogas'] == "duras" and $_POST['cadacuantodrogas'] == "amenudo") {
  70.     $restado_por_drogas = 8; }
  71.     elseif($_POST['tipodrogas'] == "duras" and $_POST['cadacuantodrogas'] == "demasiado") {
  72.     $restado_por_drogas = 10; }
  73.     elseif($_POST['tipodrogas'] == "ambas" and $_POST['cadacuantodrogas'] == "apenas") {
  74.     $restado_por_drogas = 8; }
  75.     elseif($_POST['tipodrogas'] == "ambas" and $_POST['cadacuantodrogas'] == "amenudo") {
  76.     $restado_por_drogas = 10; }
  77.     elseif($_POST['tipodrogas'] == "ambas" and $_POST['cadacuantodrogas'] == "demasiado") {
  78.     $restado_por_drogas = 15; }
  79.     } else { $restado_por_drogas = 0; }
  80.  
  81. if($_POST['alimentacion'] == "excelente") {
  82.     $alimentacion_alarga = 14;
  83. } elseif ($_POST['alimentacion'] == "decente") {
  84.     $alimentacion_alarga = 8;
  85. } elseif ($_POST['alimentacion'] == "decente") {
  86.     $alimentacion_alarga = 8;
  87. } elseif ($_POST['alimentacion'] == "normal") {
  88.     $alimentacion_alarga = 6;
  89. } elseif ($_POST['alimentacion'] == "decente") {
  90.     $alimentacion_alarga = 8;
  91. } elseif ($_POST['alimentacion'] == "bastantemala") {
  92.     $alimentacion_alarga = 0;
  93. } elseif ($_POST['alimentacion'] == "undesastre") {
  94.     $alimentacion_alarga = 0;
  95. }
  96.  
  97. if($_POST['ejercicio'] == "nunca") {
  98.     $ejercicio_alarga = 0;
  99. } elseif($_POST['ejercicio'] == "raravez") {
  100.     $ejercicio_alarga = 1;
  101. } elseif($_POST['ejercicio'] == "semanalmente") {
  102.     $ejercicio_alarga = 2;
  103. } elseif($_POST['ejercicio'] == "casitodoslosdias") {
  104.     $ejercicio_alarga = 4;
  105. }
  106. //suma total
  107. $cosasquerestan = $edad_restada_imc + $pasar_a_anos + $edad_restada_alcohol + $restado_por_drogas;
  108. $cosasquesuman = $alimentacion_alarga + $ejercicio_alarga;
  109. $resultadototal = ($esperanza_de_vida + $cosasquesuman) - $cosasquerestan;
  110. //imprimimos datos para comprobar
  111. echo "Esperanza de vida : <b>" . $esperanza_de_vida . "</b><br/>";
  112. echo "IMC : <b>" . $estado_imc . "</b> Edad restada por IMC: <b>" . $edad_restada_imc . "</b><br/>";
  113. echo "Fumar :<b> " . $fumar . "</b> Edad restada por FUMAR: <b>" . $pasar_a_anos . "</b><br/>";
  114. echo "Beber : <b>" . $beber . "</b> Edad restada por BEBER: <b>" .  $edad_restada_alcohol . "</b><br/>";
  115. echo "Drogas : <b>" . $drogas - "</b> Tipo : <b>" . $tipodrogas . "</b> Cada cuanto : <b>" . $cadacuantodrogas . "<b> Restado por drogas: <b>" . $restado_por_drogas . "</b><br/>";
  116. echo "Alimentación : <b>" . $alimentacion . "</b> Edad sumada por alimentación <b>" . $alimentacion_alarga . "</b><br/>";
  117. echo "Ejercicio <b>" . $ejercicio . "</b> Edad sumada por ejercicio <b>" . $ejercicio_alarga . "</b><br/>";
  118. echo "<br/><br/";
  119. echo "<b>" . $resultadototal . "</b>";

No he encontrado ahí errores de cierres de } pero al añadir el código en el condicional anterior, salta el error que comenté

Si no hay errores antes de poner el código que procesa el formulario, y no hay errores en el código que meto dentro, ¿ Donde está el error? ¿ Entra algo en conflicto ?
__________________
No te olvides de dar +1 a quien te echa un cable ;)

Última edición por rodrypaladin; 31/07/2014 a las 08:16