[php] GD - problem z rysowaniem

0

Mam problem z GD.

<?
header("Content-type: image/gif");
$obraz = ImageCreate(50, 20);
ImageGIF($obraz); 
?>

Cały czas otrzymuje komunikat:

Warning: Cannot modify header information - headers already sent by (output started at /home2/thebest/public_html/index.php:5) in /home2/thebest/public_html/index.php on line 85
GIF87a2��€��������,����2���„Ź©ËíŁś´Ú‹łŢĽű†âH–扦ęʶî;�;

Wklejam kod zaraz za <body> a mimo to znowu otrzymuje ten sam komunikat. Czego może to być wina?

0

Jeśli chcesz wysłać obrazek, nie możesz wysyłać innej treści. Wyrzuć wszystko co masz poza <? ?>

0
Taumas napisał(a)

Wklejam kod zaraz za <body> a mimo to znowu otrzymuje ten sam komunikat. Czego może to być wina?

Ma byc tylko i wylacznie ten kod. Funkcja header musi byc wywolana zanim cokolwiek zostanie wyslane - zadne <html> czy <body> wczesniej. Nawet spacja bedzie przeszkadzac (w koncu to tez znak). Poza tym jak wysylasz tresc obrazka, to nic innego nie zalaczaj. Przeciez jak dolaczysz do tego kod html, to nie bedzie to kod obrazka tylko kod obrazka + html...

0
maly186 napisał(a)

Jeśli chcesz wysłać obrazek, nie możesz wysyłać innej treści. Wyrzuć wszystko co masz poza <? ?>

Wiem, ze nie mogę wysyłać do przeglądarki innej treści. Niemiej jednak dziwne jest to, że gdy robię coś takiego

<body>
<?
header("Content-type: image/gif");
$obraz = ImageCreate(50, 20);

ImageGIF($obraz);               // Zwalniamy zajętą pamięć
ImageDestroy($obraz);
?>

//dalsza czesc strony 

</body>

wtedy wyrzuca ten sam błąd.

0

A <body> to nie jest inna tresc? I po co dalsza czesc strony?

0
johny_bravo napisał(a)
Taumas napisał(a)

Wklejam kod zaraz za <body> a mimo to znowu otrzymuje ten sam komunikat. Czego może to być wina?

Ma byc tylko i wylacznie ten kod. Funkcja header musi byc wywolana zanim cokolwiek zostanie wyslane - zadne <html> czy <body> wczesniej. Nawet spacja bedzie przeszkadzac (w koncu to tez znak). Poza tym jak wysylasz tresc obrazka, to nic innego nie zalaczaj. Przeciez jak dolaczysz do tego kod html, to nie bedzie to kod obrazka tylko kod obrazka + html...

ja muszę najpierw wyswietlić formularz na stronie a poźniej obrazek, bo na jego podstawie będę stwierdzał czy dodać wpis do bazy czy nie.

0

No to nie w ten sposob - skad ten obrazek jest i po co Ci on?

0

Chodzi o zabezpieczenie przed dodawaniem wpisów do bazy danych przez roboty internetowe. Losuje jakąś liczbę wypisuje ją na obrazku a użytkownik musi ją przepisać poprawnie aby wpis został dodany. Takie zabezpieczenie jest na wielu forach interetowych i nie tylko.

0

W takim razie musisz mieć jeden skrypt, który generuje formularz i drugi, który generuje obrazek. Poszukaj na 4p chyba jest coś na ten temat

0
maly186 napisał(a)

W takim razie musisz mieć jeden skrypt, który generuje formularz i drugi, który generuje obrazek. Poszukaj na 4p chyba jest coś na ten temat

Chyba nie jest to potrzebne. Zapomniałem, że tworzenie obrazka musi być w osobnym pliku. A później odwołujemy się do niego przez zwykłe

0

To też nie do końca "musi". Możesz wysłać w tym samym, tylko bez żadnych nagłówków Content-type, tylko po przerobieniu do BASE64 i w odpowiednim atrybucie img.

1 użytkowników online, w tym zalogowanych: 0, gości: 1