Diskuze: php header chyba

PHP PHP php header chyba American English version English version

Avatar
martinkobelka
Redaktor
Avatar
martinkobelka:

Poradí mi prosím někdo s touto chybou?
Warning: Cannot modify header information - headers already sent by (output started at C:\Program Files (x86)\EasyPHP-12.1\www\prvky­\levy\regblog­.php:45) in C:\Program Files (x86)\EasyPHP-12.1\www\reg.php on line 56
chci při úspěšné registraci vyvolat přesměrování na soubor log.php

 
Odpovědět 3.9.2012 11:36
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinkobelka
David Čápka:

Dočkáme se již tvé odpovědi? http://www.itnetwork.cz/…03f53fb2c33f#…

Nebo si myslíš, že s námi nebudeš mluvit a my s tebou ano?

Nahoru Odpovědět 3.9.2012 11:47
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Kit
Redaktor
Avatar
Odpovídá na martinkobelka
Kit:

Hlavičky header() musíš odeslat ještě před prvním znakem výstupu. Před voláním této funkce nesmí být žádný výstup HTML ani příkaz echo.

Nahoru Odpovědět 3.9.2012 12:00
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na martinkobelka
David Čápka:

HTTP protokol funguje na principu textových souborů. Nejprve se zapíše hlavička a až potom následuje samotný obsah HTML stránky. Pokud začneš psát stránku a potom si vzpomeneš, že chceš psát hlavičku, už to moc dobře nejde, proto ta chyba. Je to zapřičiněno mícháním výstupu s logikou, např. v MVC architektuře by se toto nestalo.

Nahoru Odpovědět 3.9.2012 12:12
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
ROOBYNSKYJ
Člen
Avatar
Odpovídá na David Čápka
ROOBYNSKYJ:

Dobrý den
K tomuto tématu mám dotaz.
Jakým způsobem zobrazím obrázek uložený v databázi v proměnné BLOB, pokud jsou webové stránky vytvořené v architektuře MVC.
Standardním řešením, které jsem našel, je po načtení dat z DB říci prohlížeči, že zobrazovaný obsahem bude obrázek za pomocí následujícího příkazu: header ("Content-type: image/jpeg");
V MVC je však již hlavička odeslaná v základním pohledu a následně, kdy je potřeba v určitém obsahu zobrazit tento obrázek, tak znovu použít příkaz header nelze.
Máte prosím pro tento způsob v MVC architektuře nějaké řešení?
Děkuji.

 
Nahoru Odpovědět 2.6.2014 11:02
Avatar
mkub
Redaktor
Avatar
Odpovídá na ROOBYNSKYJ
mkub:

premenna BLOB? to je co za premennu? skor by som povedal, ze to je datovy typ...
a nemusis ten obrazok definovat v headeri, staci, ked to vezmes z databaze a vlozis to ako obrazok...
existuje este jeden sposob, ako vlozit obrazok do dokumentu - cez tag <img>, lebo existuje aj iny sposob vkladania obrazku, nez pomocou URL

 
Nahoru Odpovědět 2.6.2014 11:53
Avatar
ROOBYNSKYJ
Člen
Avatar
Odpovídá na mkub
ROOBYNSKYJ:

Pardon. Blob jsem myslel jako datový typ. Bohužel pokud načtený obrázek přímo vložím do tagu IMG src, tak při zobrazení zdrojového kódu lze vidět toto:

<img src=����JFIF��&gt;CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality
��C

 $.' &quot;,#(7),01444'9=82&lt;.342��C

2!!22222222222222222222222222222222222222222222222222��P&lt;&quot;��
���}!1AQa&quot;q2���#B��R��$3br�
%&amp;'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz���������������������������������������������������������������������������
���w!1AQaq&quot;2�B���� #3R�br�
$4�%�&amp;'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz��������������������������������������������������������������������������?��x���h*`)�2EI#�&quot;��pI��R�T� Ԟ��k�4
&quot;����/fC���z�޼�����n��G�H�&quot;%Y���&gt;�J���o$S,p�ë6�*����ϡ4ߋ��(�4����\���s�WP���da�E|x�γ��½�^3��uk{��%����?�۷_����q=��&quot;�IZ���,j�r�2#��.RF��μ,|3���M|���9?����My7�ki�7k���3����[w0��
��68$�`7|�c�����J�&quot;��Ɔ�h�H��t��L����.�&lt;�J�woSӅ��.}�!bA�W+��[�e\��D�̟;m����Os�X������ꁒj��q��x-�O��q�JJ��%kX���Oy�xV�%�w�����)�.��wdc&lt;�vz�|v&lt;�nc�s�7���|1&lt;2��#+c�9����l�l$�߳~&gt;lg9�����&lt;��������w�4�Z
JD�&gt;���V��l/'���bb����TF�f��I�n8P9�'}�N�\��4�qv����ҭ�Y$q\�ˊU#oe$c�|:���s�/��yfIcUB0ǂ*u�r�Z�'��h����֩�v�kh�$����ֽ�#̛NM�!*U5Ud��bj�5�4Uo�^$������oӥ;r�`�M�#��!�O�c����r6�YM$20�^J�K������f�X��O���`�&gt;��Ǡ��|��{,�z�#��I4��v���W6
2�O�I�Dg�U�   ��¡5+�#�k�����Z�����1���ʻ���~����XLy�a��       �%r�yE������'����O�kq+Z�'�G19����Ry��p7j&gt;&amp;��u&quot;��M��Y�ڿ��)c�#֥GH�4�;�5���t~�\Y��?���=���&gt;P̼t5�v��er�v��U�;�t�iM�QG����Y        ����V�N���U5fu�������.ⰰ�y�T�z�Ó���
ؑ�*�5�k:�ƶ�P2[�z�D(�=�'V1[�&quot;��&lt;�J��V�����HD1�˱zn��a��
�Fi�rm�j�RV&lt;�+����>
 
Nahoru Odpovědět 2.6.2014 12:11
Avatar
mkub
Redaktor
Avatar
Odpovídá na ROOBYNSKYJ
mkub:

ale to by si musel ten obrazok najskor prekodovat, aby si to mohol vlozit do toho tagu ;)

 
Nahoru Odpovědět 2.6.2014 12:28
Avatar
mkub
Redaktor
Avatar
mkub:

skus toto skopirovat:

<img alt="" src="data:image/gif;base64,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" />

to by ti malo vlozit logo PHP do stranky...

a na konverziu som pouzil: http://webcodertools.com/…erter/Create

cize ked chces vkladat do databazy obrazky, tak to prekonvertuj do Base64

mala by ti pomoct tato funkcia: http://www.php.net/…4-encode.php

Editováno 2.6.2014 12:34
 
Nahoru Odpovědět 2.6.2014 12:32
Avatar
mkub
Redaktor
Avatar
Odpovídá na ROOBYNSKYJ
mkub:

vtip je v tom, ze neukladas cely obsah obrazka, ale iba jeho popis (cize URI) a okrem toho pomocou Base64 kodovania sa setri aj miestom a neprenasa sa tolkio udajov medzi klientom a serverom a tym sa zeychluje aj nacitavanie stranky...
ale nevyhoda je, ze je dobry len na mensie obrazky, ako su loga as pod... na fotky odporucam vyhradit zvlast adresar a v DB si viest zaznam, kde je ta-ktora fotka a vkladat rovno URL fotky

 
Nahoru Odpovědět 2.6.2014 12:46
Avatar
ROOBYNSKYJ
Člen
Avatar
ROOBYNSKYJ:

Díky za informace.
Po překódování se obrázek zobrazí.
Budu obrázky ukládat do DB v tomto kódování.

 
Nahoru Odpovědět 2.6.2014 13:32
Avatar
mkub
Redaktor
Avatar
Odpovídá na ROOBYNSKYJ
mkub:

a hlavne nezabudni ich potom vkladat ako URI, nie ako URL do tagu <img>
cize do <img src="..."> nezabudni dat: "data:image/gif;ba­se64,..." tak, ako to je v tej ukazke

 
Nahoru Odpovědět 2.6.2014 13:41
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 12 zpráv z 12.