FAQ
Intento imprimir el último registro creado por un usuario, pongamos que es
el registro número 25 (por ejemplo) de una tabla de base de datos en pdf.
Para ello utilizo htmldoc. Al llamar al código siguiente …





<a href="imprimir_previo.php">

<img src="images/pdf.jpg" align="middle" border="0" vspace="0"
hspace="0" ALT="Copia en PDF">

<font color="#000000">Version PDF</font>

</a>





… se ejecuta este php …





<?php// Esto es todo lo que hay en imprimir_previo.php



//PARA QUE ESTO FUNCIONE EN EL SERVIDOR TENEMOS QUE INSTALAR EL PAQUETE
htmdoc (apt-get install htmldoc)

header("Content-Type: application/pdf");

header("Content-Disposition: attachment; filename=\"Documento.pdf\"");

passthru("htmldoc --format pdf --left 2.5cm --right 1.5cm --top 1.5cm
--bottom 1.5cm " .

"--headfootsize 5 --header 'l' --footer 't' '/' " .



"--logoimage ./images/logosg_agroalimentaria.jpg --linkcolor '#0000FF' "
..

"--size 'a4' --fontsize 10 --bodyfont Arial --charset 8859-15 " .



"--webpage http://www.miempresa.com/ruta/imprimir.php");

?>





… que imprime perfectamente en pdf el código de imprimir.php



El problema es que dentro de imprimir.php sólo puedo sacar los datos de la
query que ponga dentro, y si le digo que me saque el último registro creado
otro usuario ha podido crear el registro 26 y me saca los datos del 26 en
lugar del 25. Esto sería un error muy grave. Por algún motivo no me reconoce
las variables de sesión dentro de imprimir.php, y no sé cómo pasarle ese 25
como parámetro.



¿Alguien me puede ayudar?

Search Discussions

  • David Figueres at Feb 19, 2008 at 12:38 pm
    Hola Gorka,

    El tema de que no funcionen las variables de sesion es normal, porque esto
    seguro que se te abre en una página a parte. Lo que puedes hacer es usar las
    cookies, del ordenador cliente.

    Otra forma, es ir pasando el ID a imprimir de página a página (todo y ser
    poco seguro, esto ya depende de tu nivel de seguridad). Es decir:

    <a href="imprimir_previo.php?id=25">

    <img src="images/pdf.jpg" align="middle" border="0" vspace="0"
    hspace="0" ALT="Copia en PDF">

    <font color="#000000">Version PDF</font>

    </a>




    El día 19/02/08, Gorka <gorkaphp@yahoo.es> escribió:
    Intento imprimir el último registro creado por un usuario, pongamos que es
    el registro número 25 (por ejemplo) de una tabla de base de datos en pdf.
    Para ello utilizo htmldoc. Al llamar al código siguiente …





    <a href="imprimir_previo.php">

    <img src="images/pdf.jpg" align="middle" border="0" vspace="0"
    hspace="0" ALT="Copia en PDF">

    <font color="#000000">Version PDF</font>

    </a>


    [............]


    "--webpage http://www.miempresa.com/ruta/imprimir.php".$_GET['id']);

    Espero que te sea útil.

    Saludos,

    David Figueres

    … se ejecuta este php …




    <?php// Esto es todo lo que hay en imprimir_previo.php



    //PARA QUE ESTO FUNCIONE EN EL SERVIDOR TENEMOS QUE INSTALAR EL PAQUETE
    htmdoc (apt-get install htmldoc)

    header("Content-Type: application/pdf");

    header("Content-Disposition: attachment; filename=\"Documento.pdf\"");

    passthru("htmldoc --format pdf --left 2.5cm --right 1.5cm --top 1.5cm
    --bottom 1.5cm " .

    "--headfootsize 5 --header 'l' --footer 't' '/' " .



    "--logoimage ./images/logosg_agroalimentaria.jpg --linkcolor '#0000FF'
    "
    ..

    "--size 'a4' --fontsize 10 --bodyfont Arial --charset 8859-15 " .



    "--webpage http://www.miempresa.com/ruta/imprimir.php");

    ?>





    … que imprime perfectamente en pdf el código de imprimir.php



    El problema es que dentro de imprimir.php sólo puedo sacar los datos de la
    query que ponga dentro, y si le digo que me saque el último registro
    creado
    otro usuario ha podido crear el registro 26 y me saca los datos del 26 en
    lugar del 25. Esto sería un error muy grave. Por algún motivo no me
    reconoce
    las variables de sesión dentro de imprimir.php, y no sé cómo pasarle ese
    25
    como parámetro.



    ¿Alguien me puede ayudar?



    --
    David Figueres
    Skype: david.figueres
    Mbl: 654475050
  • Pere Picornell at Feb 19, 2008 at 2:14 pm
    Hola Gorka,

    Mejor que pasar el ID, puedes pasar la ID de sesión.

    Mira en el manual, tienes la constante SID, el session_id(), y al hacer
    session_start puedes definirle un ID (no me acuerdo si como parámetro, o
    antes, o después...), etc. y recuperaras la sesión.

    O sea, como lo haria PHP si le activas lo de pasar la id de sesión por get
    automáticamente pero en manual.

    Saludos


    2008/2/19 David Figueres <david.figueres@gmail.com>:
    Hola Gorka,

    El tema de que no funcionen las variables de sesion es normal, porque esto
    seguro que se te abre en una página a parte. Lo que puedes hacer es usar
    las
    cookies, del ordenador cliente.

    Otra forma, es ir pasando el ID a imprimir de página a página (todo y ser
    poco seguro, esto ya depende de tu nivel de seguridad). Es decir:

    <a href="imprimir_previo.php?id=25">

    <img src="images/pdf.jpg" align="middle" border="0" vspace="0"
    hspace="0" ALT="Copia en PDF">

    <font color="#000000">Version PDF</font>

    </a>




    El día 19/02/08, Gorka <gorkaphp@yahoo.es> escribió:
    Intento imprimir el último registro creado por un usuario, pongamos que es
    el registro número 25 (por ejemplo) de una tabla de base de datos en pdf.
    Para ello utilizo htmldoc. Al llamar al código siguiente …





    <a href="imprimir_previo.php">

    <img src="images/pdf.jpg" align="middle" border="0" vspace="0"
    hspace="0" ALT="Copia en PDF">

    <font color="#000000">Version PDF</font>

    </a>


    [............]


    "--webpage http://www.miempresa.com/ruta/imprimir.php".$_GET['id']);

    Espero que te sea útil.

    Saludos,

    David Figueres

    … se ejecuta este php …




    <?php// Esto es todo lo que hay en imprimir_previo.php



    //PARA QUE ESTO FUNCIONE EN EL SERVIDOR TENEMOS QUE INSTALAR EL PAQUETE
    htmdoc (apt-get install htmldoc)

    header("Content-Type: application/pdf");

    header("Content-Disposition: attachment; filename=\"Documento.pdf\"");

    passthru("htmldoc --format pdf --left 2.5cm --right 1.5cm --top 1.5cm
    --bottom 1.5cm " .

    "--headfootsize 5 --header 'l' --footer 't' '/' " .



    "--logoimage ./images/logosg_agroalimentaria.jpg --linkcolor '#0000FF'
    "
    ..

    "--size 'a4' --fontsize 10 --bodyfont Arial --charset 8859-15 " .



    "--webpage http://www.miempresa.com/ruta/imprimir.php");

    ?>





    … que imprime perfectamente en pdf el código de imprimir.php



    El problema es que dentro de imprimir.php sólo puedo sacar los datos de la
    query que ponga dentro, y si le digo que me saque el último registro
    creado
    otro usuario ha podido crear el registro 26 y me saca los datos del 26 en
    lugar del 25. Esto sería un error muy grave. Por algún motivo no me
    reconoce
    las variables de sesión dentro de imprimir.php, y no sé cómo pasarle ese
    25
    como parámetro.



    ¿Alguien me puede ayudar?



    --
    David Figueres
    Skype: david.figueres
    Mbl: 654475050

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedFeb 19, '08 at 11:49a
activeFeb 19, '08 at 2:14p
posts3
users3
websitephp.net

People

Translate

site design / logo © 2022 Grokbase