Foros del Web » Programando para Internet » PHP »

Generar PDF con DOMPDF y redirigir a otra pagina

Estas en el tema de Generar PDF con DOMPDF y redirigir a otra pagina en el foro de PHP en Foros del Web. Hola amigos: Tengo un formulario que a través de un botón guardar los datos en mysql y a su vez genera un PDF con un ...
  #1 (permalink)  
Antiguo 01/10/2012, 19:32
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Generar PDF con DOMPDF y redirigir a otra pagina

Hola amigos:

Tengo un formulario que a través de un botón guardar los datos en mysql y a su vez genera un PDF con un recibo. El problema es que necesito que luego de que haga lo anterior, vaya a otra pagina donde diga "Inscripción Realizada" y muestre un botón de regresar, pero no se como hacer esto. Este es el código donde está el botón que guarda todo:

Código PHP:
Ver original
  1. <form action="inscrip_realizada.php" name="sumador" id="sumador" method="post" >
  2. <table id="mytable">
  3.     <thead>
  4.         <tr><th colspan="7">PAGO INSCRIPCION ALUMNO</th></tr>
  5.     </thead>
  6.     <tbody>
  7.         <tr>
  8.           <td colspan="4" ></td>
  9.           <td>Recibo Nº:</td>
  10.           <td colspan="2" ><input name="n_recibo" type="text" id="n_recibo" value="<?php echo $n_recibo ?>" readonly="readonly" /></td>
  11.         </tr>
  12.         <tr>
  13.           <td  width="180">Fecha:</td>
  14.           <td colspan="3" ><input name="fecha_actual" type="text" id="fecha_actual" value="<?php echo $fecha_actual ?>" readonly="readonly" /></td>
  15.           <td >Ciclo:</td>
  16.           <td colspan="2" ><input name="ciclo" type="text" id="ciclo" value="<?php echo $ciclo ?>" readonly="readonly" /></td>
  17.     </tr>
  18.         <tr>
  19.           <td  width="180">Alumno:</td>
  20.           <td colspan="3" ><input name="alumno" type="text" id="alumno" value="<?php echo $alumno ?>" readonly="readonly"></td>
  21.           <td  width="180">Cédula Escolar:</td>
  22.           <td colspan="2" ><input name="ced_escolar" type="text" id="ced_escolar" value="<?php echo $ced_escolar ?>" readonly="readonly"></td>
  23.         </tr>
  24.     <tr>
  25.           <td >C.I. Nº:</td>
  26.           <td colspan="3" ><input name="rci" type="text" id="rci" value="<?php echo $rci ?>" readonly="readonly" /></td>
  27.           <td  width="180">Representante:</td>
  28.           <td width="54" ><input name="representante" type="text" id="representante" value="<?php echo $representante ?>" size="30" readonly="readonly" /></td>
  29.     </tr>
  30.         <tr>
  31.           <td  width="180">Telefonos:</td>
  32.           <td colspan="4" ><input name="telefonos" type="text" id="telefonos" value="<?php echo $rtelefono." / ".$rtlf_ofic. " / ".$rcelular  ?>" size="40" readonly="readonly" /></td>
  33.           <td colspan="2" ></td>
  34.         </tr>
  35.           <td  width="180">Mensualidad:</td>
  36.           <td colspan="3" ><input name="monto_mensualidad" type="text" id="monto_mensualidad" value="<?php echo $monto_mensualidad ?>" readonly="readonly" ></td>
  37.           <td  width="180">Total Anual:</td>
  38.           <td colspan="2" ><input name="total_deuda" type="text" id="total_deuda" value="<?php echo $total_deuda ?>" readonly="readonly" ></td>
  39.         </tr>
  40.     <tr>
  41.           <td  width="180">Matricula:</td>
  42.           <td colspan="3" ><input name="matricula" type="text" id="matricula" value="<?php echo $matricula ?>" readonly="readonly" ></td>
  43.           <td  width="180">Seguro Escolar:</td>
  44.           <td colspan="2" ><input name="seguro" type="text" id="seguro" value="<?php echo $seguro ?>" readonly="readonly"></td>
  45.         </tr>
  46.         <tr>
  47.           <td  width="180">Soc. Padres y Rep.:</td>
  48.           <td colspan="3" ><input name="comunidad" type="text" id="comunidad" value="<?php echo $comunidad ?>" readonly="readonly" ></td>
  49.           <td>Septiembre:</td>
  50.           <td colspan="2" ><input name="septiembre" type="text" id="septiembre" value="<?php echo $septiembre ?>" readonly="readonly" ></td>
  51.         </tr>
  52.     <tr>
  53.           <td  width="180">Otros:</td>
  54.           <td colspan="3" ><input name="otros" type="text" id="otros" value="<?php echo $otros ?>" readonly="readonly" ></td>
  55.            <td>Concepto:</td>
  56.           <td colspan="2" ><input name="concepto_otros" type="text" id="concepto_otros" value="<?php echo $concepto_otros ?>" readonly="readonly" ></td>
  57.         </tr>
  58.         <tr>
  59.           <td >Descripción:</td>        
  60.            <td colspan="3" ><input name="concepto" type="text" id="concepto" value="<?php echo 'Inscripcion' ?>" readonly="readonly" ></td>
  61.           <td  width="180">Total Inscripción:</td>
  62.           <td colspan="2" ><input name="total_inscrip" type="text" id="total_inscrip" value="<?php echo $total_inscrip ?>" readonly="readonly" ></td>
  63.         </tr>
  64.         <tr>
  65.           <td  height="20">Tipo de Pago:</td>
  66.           <td colspan="3"><label for="tipo_pago"></label>
  67.             <select name="tipo_pago" id="tipo_pago">
  68.               <option value="Efectivo">Efectivo</option>
  69.               <option value="Deposito">Depósito</option>
  70.               <option value="Transferencia">Transferencia</option>
  71.               <option value="Punto">Punto</option>
  72.               <option value="Cheque">Cheque</option>
  73.             </select></td><div class="demo">
  74.           <td>Fecha Pago:</td>
  75.           <td><input type="text" id="datepicker" name="fecha_pago" class="fechador">
  76.   </td> </div>
  77.           </tr>
  78.         <tr>
  79.           <td>Banco:</td>
  80.           <td colspan="3"><input name="banco" type="text" id="banco"></td>
  81.           <td width="180">Nº Dep/Transf.:</td>
  82.           <td colspan="2"><input name="n_dep" type="text" id="n_dep"></td>
  83.         </tr>
  84.         <tr>
  85.           <td>Depositante:</td>
  86.           <td colspan="3"><input name="depositante" type="text" id="depositante"></td>
  87.           <td width="180">Monto del Pago:</td>
  88.           <td colspan="2"><input name="monto" type="text" id="monto" value="<?php echo $total_inscrip  ?>" ></td>
  89.         </tr>
  90.         <tr>
  91.           <td colspan="7" class="td3">
  92.             <input name="atras" type="button" id="atras" value="Atr&aacute;s" onClick="location.href='inscribir.php'">
  93. -
  94. <input type="submit" name="Submit" value="Agregar">
  95. -
  96. <input name="cancelar" type="reset" id="cancelar" value="Cancelar">
  97.           </td>
  98.             </tbody>
  99. </table>
  100.  
  101.     </form>


Asi lo envio para generar el pdf (previa al location guardo en la BD):



Código PHP:
Ver original
  1. header("Location:imprimir_inscripcion.php?rci=$rci&n_recibo=$n_recibo&representante=$representante&tipo_pago=$tipo_pago&fecha_pago=$fecha_pago&banco=$banco&n_deposito=$n_deposito&depositante=$depositante&monto=$monto&concepto=$concepto");

y este es el pdf:

Código PHP:
Ver original
  1. $rci = $_GET['rci'];
  2. $n_recibo = $_GET['n_recibo'];
  3. $representante = $_GET['representante'];
  4. $tipo_pago = $_GET['tipo_pago'];
  5. $fecha_pago = $_GET['fecha_pago'];
  6. $banco = $_GET['banco'];
  7. $n_deposito = $_GET['n_deposito'];
  8. $depositante = $_GET['depositante'];
  9. $monto = $_GET['monto'];
  10. $concepto = $_GET['concepto'];
  11.  
  12. $ruta = '..';
  13. include ('../func/db.php');
  14.  
  15.   $conex = db_connect();
  16.   if (!$conex)
  17.    return 0;
  18.  
  19. $rs = mysql_query("SELECT * FROM alumnos WHERE rci='$rci'");
  20. while ($result = mysql_fetch_array($rs)) {
  21.     $ced_escolar = $result['ced_escolar'];
  22.     $apnombre = $result['apnombre'];
  23.     $apapellido = $result['apapellido'];
  24. }
  25.  
  26. ini_set ("memory_limit","20M");
  27. require_once("../dompdf/dompdf_config.inc.php");
  28. $html =
  29. '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'.
  30.  
  31. '<html>
  32. <style type="text/css">
  33. body{
  34. margin: 15px 40px;
  35. }
  36. table {
  37.     border-collapse: collapse;
  38.     width: 100%;
  39.     font-size: 0.9em;
  40.     border-width: 1px;
  41.     border-color: #95bce2;
  42.     border-style:solid;
  43. }
  44.  
  45. th {
  46.     border-bottom: 1px solid #95bce2;
  47.     color:  #fff;
  48.     font-weight: bold;
  49.     font-size:12px;
  50. }
  51.  
  52. td {
  53.     vertical-align: top;
  54.     border-bottom: 1px solid #95bce2;
  55.     text-align:justify;
  56. }
  57. </style>
  58.  
  59. <body>
  60.     <table width="500">
  61.     <tbody>
  62.  
  63.    <tr>
  64.     <th colspan="8" bgcolor="#4F94C2">RECIBO DE PAGO</th>
  65.    </tr>'.
  66.  
  67.     '<tr>
  68.      <td colspan="3"><img src="../images/logito.gif" width="208" height="77" alt="logo" /></td>
  69.      <td colspan="5">Preescolar XXXXXXX.<br />Rif: XXXXXX-8<br />MPPE PDXXXXXX</td>
  70.    </tr>'.
  71.  
  72.    ' <tr>'.
  73.     '<td colspan="6"></td
  74.     <td>Nº Recibo:</td>'.
  75.     '<td>'.
  76.     $n_recibo  .
  77.     '</td>' .
  78.     '</tr>'.
  79.    
  80.     '<tr>'.
  81.     '<td>Representante:</td>'.
  82.     '<td colspan="3">'.
  83.     $representante.
  84.     '</td>'.
  85.     '<td>C.I.Nº</td>'.
  86.     '<td colspan="3">'.
  87.     $rci .
  88.     '</td>'.
  89.     '</tr>'.
  90.    
  91.    ' <tr>'.
  92.     '<td><label>Alumno:</label></td>'.
  93.     '<td colspan="3">'.
  94.     $apnombre . ' '. $apapellido.
  95.     '</td>'.
  96.    '<td>C. Escolar:</td>'.
  97.     '<td colspan="4">' .
  98.     $ced_escolar  .
  99.     '</td>'.
  100.     '</tr>'.
  101.  
  102.    ' <tr>'.
  103.    '<td>Tipo de Pago:</td>'.
  104.     '<td>' .
  105.     $tipo_pago  .
  106.     '</td>'.
  107.     '<td>Banco:</td>'.
  108.     '<td>'.
  109.     $banco .
  110.     '<td>Nº Dep.:</td>'.
  111.     '<td colspan="3">'.
  112.     $n_deposito .
  113.     '</tr>'.
  114.  
  115.    ' <tr>'.
  116.    '<td>Depositante:</td>'.
  117.     '<td colspan="2">' .
  118.     $depositante  .
  119.     '</td>'.
  120.     '<td>Fecha Dep.:</td>'.
  121.     '<td colspan="2">'.
  122.     $fecha_pago .
  123.     '<td>Monto:</td>'.
  124.     '<td>'.
  125.     $monto .
  126.     '</tr>'.
  127.    
  128.     '<tr>'.
  129.     '<td>Concepto:</td>'.
  130.     '<td colspan="7">'.
  131.     $concepto  .
  132.     '</td>'.
  133.     '</tr>'.
  134.  
  135.     '<tr>'.
  136.     '<td>Elaborado por:</td>'. 
  137.     '<td colspan="7">'.
  138.     $usuario .
  139.     '</td>'.
  140.     '</tr>'.
  141.   '</tbody>'.
  142. '</table>'.
  143. '</body></html>';
  144.  
  145. $dompdf = new DOMPDF();
  146. $dompdf->load_html($html);
  147. $dompdf->render();
  148. $dompdf->stream("Inscripcion.pdf");

Cómo puedo hacerlo???
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 01/10/2012, 20:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Generar PDF con DOMPDF y redirigir a otra pagina

Con PHP no puedes hacerlo, porque ya enviaste encabezados para especificar que se trata de una descarga y cualquier HTML que quieras mostrar se agregará al archivo que se está descargando.

Lo que sí puedes hacer es crear un HTML con el mensaje que deseas "Gracias por inscribirse, en unos segundos iniciará la descarga del documento [Regresar]" y, usando una etiqueta meta refresh, rediriges a la descarga del archivo pero, "mágicamente", la página con el mensaje se mantendrá intacta y verás aparecer el cuadro de diálogo de descarga.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 01/10/2012, 20:39
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: Generar PDF con DOMPDF y redirigir a otra pagina

Gracias Triby, aunque no entiendo mucho como lo puedo hacer con el html... Investigaré el uso de la etiqueta meta refresh a ver que me sale.... :)
__________________
Caminando con el corazón partío

Etiquetas: dompdf, formulario, html, mysql, pdf, redirigir, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:43.