[PHP/PDF] PDF probleem in sessie onder IE

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
In een PHP script maak ik dynamische PDFjes aan. Dit werkt allemaal als een trein.

Nu dit script helemaal OK werkt wil ik m in m'n sessie plaatsen, en dat levert de nodige problemen op.

Heb voorlopig alleen nog maar de session_start() aan het begin van het script geplaatst en nu is het in IE niet meer mogelijk om de PDFjes te bekijken. In de oude situatie werd het PDFje automatisch geopend, maar nu krijg ik het download schermpje met de vraag of ik het bestand wil opslaan of wil openen. In beide gevallen krijg ik vervolgens een error dat het niet mogelijk is om het bestand te downloaden.

In Opera krijg ik dezelfde vraag, maar dan kan ik WEL een keuze maken en die juist uitvoeren.

Het vreemde is dat in de apache logfiles altijd (ook in de gevallen van IE) de pagina compleet wordt verstuurd.

Het lijkt zo vooral een clientside probleem, maar zal serverside een oplossing moeten bedenken. Kan dit, of is er iemand bekend met dit probleem?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 08:51

Janoz

Moderator Devschuur®

!litemod

Haal de content type eens weg. Het zou namelijk kunnen zijn dat er een foutmelding optreed die je niet kunt zien omdat het als pdf wordt verstuurt ipv text.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Janoz schreef op 20 januari 2003 @ 11:15:
Haal de content type eens weg. Het zou namelijk kunnen zijn dat er een foutmelding optreed die je niet kunt zien omdat het als pdf wordt verstuurt ipv text.
Indien ik de session_start() weg haal krijg ik inderdaad de (onleesbare) text variant te zien.

Bij het terugplaatsen van de session_start(), maar nog zonder de content-type krijg ik dezelfde foutmelding als in de gevallen dat content-type er wel staat.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Heb de afgelopen 24 uur ernstig lopen puzzelen, maar ik heb ff geen idee meer. HEb het PDFje heel simpel gemaakt, maar na het toevoegen van session_start() kan IE de boel gewoon niet meer openen.

Natuurlijk kan ik het probleem oplossen door het genereren van het PDFje buiten de sessie te laten, maar dat heeft zeker niet de voorkeur.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik weet dat dit draadje momenteel een beetje een monoloog aan het worden is, maar ik probeer het nog 1 keer.

Hoop dat iemand me gelukkig(er) het weekend in kan laten gaan.

Heb m'n code echt tot het minimum beperkt
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
    //session_start();

    $pdf = pdf_new();

    if (!pdf_open_file($pdf, "")) {
        echo "Unable to generate a PDF-file";
        exit;
    };

    pdf_set_parameter($pdf, "warning", "true");
    pdf_set_info($pdf, "Creator", "ABC");
    pdf_set_info($pdf, "Title", "DEF");
    pdf_set_info($pdf, "Author", "GHI");

    pdf_begin_page($pdf, 833, 595);
    pdf_add_outline($pdf, "Blaat");

    pdf_set_font($pdf, "Helvetica", 11, "winansi");
    pdf_show_xy($pdf, "Hello World", 100, 100);

    pdf_end_page($pdf);

    pdf_close($pdf);

    $buf = pdf_get_buffer($pdf);
    $len = strlen($buf);

    header("Content-Type: application/pdf");
    header("Content-Length: $len");
    header("Content-Disposition: inline; filename=docu.pdf");
    print $buf;

    pdf_delete($pdf);

?>


dit werkt goed, maar zodra die gare session_start() wordt toegevoegd kan (mijn) IE dit niet meer openen.

Acties:
  • 0 Henk 'm!

  • mklerx
  • Registratie: April 2000
  • Laatst online: 18-09 16:38
Ik neem aan dat als je session_start() doet hij dan iets wil doen met headers (cookies).
Waarschijnlijk is dat niet compatibel met de headers waardoor IE ziet dat het een PDF is.
Dus misschien moet je het toch buiten de sessie doen?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ben er nu achter dat het met SSL te maken heeft.

Op een site zonder SSL werkt bovenstaand script wel als er session_start() wordt gebruikt. Tijdens een SSL verbinding is de session_start() killing :(

Acties:
  • 0 Henk 'm!

  • Banpei
  • Registratie: Juli 2001
  • Laatst online: 25-10-2022

Banpei

Hachiroku on this touge?

Verwijderd schreef op 24 januari 2003 @ 17:03:
Ben er nu achter dat het met SSL te maken heeft.

Op een site zonder SSL werkt bovenstaand script wel als er session_start() wordt gebruikt. Tijdens een SSL verbinding is de session_start() killing :(
Probeer dan eens je security settings in ie op wat lager te zetten, misschien accepteerd ie geen inline zut in je huidige configuratie of kan ie geen cookies zetten?? :?

Heb zelf nooit echt verschillen gehad tussen wel of niet ssl overigens.

[ Voor 11% gewijzigd door Banpei op 24-01-2003 17:12 ]

AE86 gevonden! | So what I thought I'd do was, I'd pretend to be one of those deaf-mutes.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Banpei schreef op 24 January 2003 @ 17:11:
[...]

Probeer dan eens je security settings in ie op wat lager te zetten, misschien accepteerd ie geen inline zut in je huidige configuratie of kan ie geen cookies zetten?? :?
Ook dit heeft geen zin. Settings staan vergelijkbaar als in Opera.

Maar zelfs bij minimale security faalt ie
Heb zelf nooit echt verschillen gehad tussen wel of niet ssl overigens.
DIt is ook mijn eerste, maar is ook gelijk een stevige...

[ Voor 22% gewijzigd door Verwijderd op 24-01-2003 17:18 ]

Pagina: 1