Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sesje a generowanie obrazków przy pomocy bibl GD
Forum PHP.pl > Forum > Przedszkole
molecular
Mam taki problem, otóż mam stronkę która wyświetla tabelkę z danymi pobranymi w bazie a obok wyswietla wykres stworzony przez skrypt php korzystający z GD.
  1. <img src="inc/chart.php" hspace="20" alt="Wykres" />

I tu jest wszystko OK. Kwestia leży w samym skrypcie, otóż pobiera on dane z bazy a login i hasło przechowywane są jako zmienne sesji. Obrazek generowany przez skrypt ma format png. Żeby wyświtlić obrazek w formacie png muszę wysłać nagłowek HTML
  1. <?php
  2. Header('Content-type: image/png');
  3. ImagePng($ob);
  4. ?>

Jednak na samaym początku skryptu rozpoczynam sesję, tak więc już nagłowki zostały wysłane i te od obrazka nie są brane pod uwagę. Obrazek tworzy się poprawnie ale przeglądarka wyświetla go jako bitmapę a nie png co znacznie zwiększa jego rozmiar.

Czy ma ktoś pomysł jak to rozwiązać??
mike
Hmm, dziwne nie wiem dlaczego nie działa. Powinno nie być problemu.

Możesz pokazać jakiś kod, może jest błąd?

A swoją drogą przechowywanie loginu i hasła w sesji to nienajlepszy pomysł jeżeli chodzi o bezpieczeństwo.
molecular
Co do bezpieczeństwa, to wiem że nie jest to dobry pomysł z tymi sesjami, ale ten projekt działa tylko w lokalnej sieci, która jest naprawdę dobrze zabiezpieczona i chodziło raczej o ograniczenie dostępu pewnej grupie użytkowników no ale to nie temat posta ;-) Poza tym zmienne w sesji przechowywane są w postaci zakodowanej (wprawdzie tylko base64 ale dla laika który potencjalnie może się do nich dobrać to już i tak czarna magia winksmiley.jpg.

A co do kodu to nie sądzę żeby był w nim błąd. po prostu w momencie rozpoczęcia sesji wysyłany jest nagłówek do html i kiedy skrypt próbuje wysłać nagłowek przy wyświetlaniu obrazka nie może tego zrobić. Kiedy nie korzystam z sesji tylko login i haslo do bazy wpiszę na stałe do skryptu to jest OK, obrazek wyświetla się w zadeklarowanym formacie (np. png). Jednak wówczas trzeba ręcznie odświeżyć stronę w przeglądarce aby dane na wykresie zostały zaktualizowane.

Więc konkretnie chodzi mi o to czy istnieje jakiś spośob żeby ten nagłówek ostatni wysłać tak aby tworzony był obraz w prawidłowym formacie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.