Citat:
iizuzetan: Imam (TAJ ME ZEZA) liniju
A ne mogu da skontam ob_start() funkciju. KJako da njom zamenim sledecu liniju?
Code:
header ("location: http://www.zaljubi.com/index.php?u=registracija&greskaa=9");
I kako na prethodnom hostingu sve je radilo kako treba a sad zeza? Kakve su to razlike imzedju PHP-a starog i novog hostinga? Da li to samo ovaj novi hosting zeza ili kad bih preso i kod drugih opet bi zezalo?
Moja greska; hteo sam da te pitam sta imas u liniji: /home/zaljubi/public_html/registracija/funkcije.php:3897 ?
Gle, prica o headerima je sledeca:
ako uradis echo 'tekst' ; ili mesas HTML i php
to se vec smatra da je 'output started'. Isto vazi i ako imas .php fajl, ali npr. <?php nije odmah u prvom redu vec recimo drugom. Tj. prvi red je 'enter', sto je opet dovoljno da browser smatra za output started. Mislim da se to spada u 'white characters'. Itd... duga prica.
Problem je lako resiti:
svaki .php fajl mora da pocne ODMAH sa <?php . Ne drugi red, ne nekoliko space-ova... vec bukvalno odmah.
PHP fajlove nemoj nikad da zatvaras. Totalno je nepotrebno, a posle ;?> se cesto nadje opet neki enter. Ako si radi include-ove, hvata te isti problem. Ako koristis ajax gde JS proverava tacno odredjen string poslat od php-a, opet nece da valja ako si zatvorio .php fajl.
ob_start():
Ako uradis echo 'nesto'; ili stavis html, to se nece odmah poslati browser-u vec se cuva u kesu. Medjutim, header-i prolaze odmah. Ako koristis MVC pattern (uglavnom jedna ulazna tacka), dovoljno je da u index.php fajlu stavis ob_start() i resio si problem.
Ovo za hosting; stvarno nemam pojma.