Ver Mensaje Individual
  #12 (permalink)  
Antiguo 05/04/2013, 05:17
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: consulta sobre enviar formulario para que con fpdf se convierta en pdf

phppensionuno.php
Código PHP:
Ver original
  1. <?php
  2. //Recojida de datos
  3. $nombre = $_POST['nombre'];
  4. $base = $_POST['base'];
  5. $hijo = $_POST['hijo'];
  6.  
  7. //calculo de la pension que saldria a pagar
  8. $variable = 0.227;
  9. //ajuste para el asignar el valor por cantidad de hijos
  10. $cerohijo = 0;
  11. $unohijo = 1;
  12. $doshijo = 1.45;
  13. $treshijo = 1.65;
  14. $cuatrohijo = 1.93;
  15. if ($hijo == 0)
  16. { $cerohijo; }
  17. else {$cerohijo = null;}
  18. if ($hijo == 1 )
  19. { $unohijo; }
  20. else {$unohijo = null;}
  21. if ($hijo == 2)
  22. { $doshijo; }
  23. else {$doshijo = null;}
  24. if ($hijo == 3)
  25. { $treshijo; }
  26. else {$treshijo = null;}
  27. if ($hijo >= 4)
  28. { $cuatrohijo; }
  29. else {$cuatrohijo = null;}
  30. //valor segun los datos intorducidos todos se hacen nulos excepto el valor del hijo
  31. $hijofinal = $cerohijo+$unohijo+$doshijo+$treshijo+$cuatrohijo;
  32. //valor pension
  33. $pension = $base*$variable*$hijofinal;
  34.  
  35.  
  36. //asignar al servidor horario de europa
  37. date_default_timezone_set("Europe/Andorra");
  38. //fecha en castellano
  39. $dias = array("domingo","lunes","martes","miércoles","jueves","viernes","sábado");
  40. $meses = array("enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre");
  41.  
  42. ///Inicio presentación datos en HTML
  43. ?>
  44. <html>
  45. <head>
  46. </head>
  47. <body>
  48. <?php
  49. echo 'Documento emitido a las: '.date ('H:i:s').' del '.$dias[date('w')].' '.date('d').' de '.$meses[date('n')-1]. ' del '.date('Y').'. <br><br> ';
  50. echo 'Estimado '. $nombre.' estos son los datos que usted ha introducido:<br>';
  51. echo 'La base que ha introducido es '.$base.' euros. <br>';
  52. echo 'Numero de hijos es '.$hijo.'. <br>';
  53. echo 'La pension que usted tendria que pagar es de '.round($pension,2).' euros mensuales.';
  54. ////Formulario con campos ocultos con los valores
  55.  
  56. ///El action es pensionunoPDF.php no pensionuno.php
  57. ?>
  58. <br /><br />
  59. <form action="pensionunoPDF.php" method="post" id="formulario">
  60. <input name="nombre" id="nombre" value="<?php echo $nombre;?>"  type="hidden"><br>
  61. <input name="base" id="base" value="<?php echo $base;?>" type="hidden"><br>
  62. <input name="hijo" id="hijo" value="<?php echo $hijo;?>" type="hidden"><br>
  63. <input value="Imprimir pdf" name="pension" id="pension" type="submit">
  64. </form>
  65. </body>
  66. </html>

Como ves he reorganizado phppensionuno.php y le he agregado un formulario con campos ocultos, los cuales tienen los valores del formulario original. Hace lo mismo pero de una forma mas organizada y legible, primero recoge los datos, hace los calculos, configura la hora, y luego muestra los datos y el resultado de los calculos. Finalmente de forma oculta al usuario crea un formulario con los mismos datos y ofrece la posibilidad de imprimir.

Ahora tienes que crear un pensionunoPDF.php que va a recibir los datos otra vez con lo que podrá crear el pdf. Mira los ejemplos del api de FPDF.


pensionunoPDF.php
Código PHP:
Ver original
  1. <?php
  2. ///Cargamos la libreria FPDF
  3.  
  4.  
  5. //Recojida de datos
  6. $nombre = $_POST['nombre'];
  7. $base = $_POST['base'];
  8. $hijo = $_POST['hijo'];
  9. //calculo de la pension que saldria a pagar
  10. $variable = 0.227;
  11. //ajuste para el asignar el valor por cantidad de hijos
  12. $cerohijo = 0;
  13. $unohijo = 1;
  14. $doshijo = 1.45;
  15. $treshijo = 1.65;
  16. $cuatrohijo = 1.93;
  17. if ($hijo == 0)
  18. { $cerohijo; }
  19. else {$cerohijo = null;}
  20. if ($hijo == 1 )
  21. { $unohijo; }
  22. else {$unohijo = null;}
  23. if ($hijo == 2)
  24. { $doshijo; }
  25. else {$doshijo = null;}
  26. if ($hijo == 3)
  27. { $treshijo; }
  28. else {$treshijo = null;}
  29. if ($hijo >= 4)
  30. { $cuatrohijo; }
  31. else {$cuatrohijo = null;}
  32. //valor segun los datos intorducidos todos se hacen nulos excepto el valor del hijo
  33. $hijofinal = $cerohijo+$unohijo+$doshijo+$treshijo+$cuatrohijo;
  34. //valor pension
  35. $pension = $base*$variable*$hijofinal;
  36. //asignar al servidor horario de europa
  37. date_default_timezone_set("Europe/Andorra");
  38. //fecha en castellano
  39. $dias = array("domingo","lunes","martes","miércoles","jueves","viernes","sábado");
  40. $meses = array("enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre");
  41.  
  42. ///Inicio presentación datos en PDF
  43. $pdf=new....
  44.  
  45. ....
  46.  
  47.  
  48. /// Fin presentación pdf
  49. ?>

pensionunoPDF.php hace lo mismo que su homologo HTML ... primero recoge los datos, hace los calculos, configura la hora. A partir de aqui debes crear el pdf.

Ahora lo entiendes?
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 05/04/2013 a las 05:38