Demonical Monk napisał(a)
Nie prawda. Musisz przetworzyć nagłówki zanim wyślesz jakąkolwiek zawartość.
Użyj output bufferingu (ob_start) lub nie używaj echo(), print() czy jeszcze nie wiem czego przed wysłaniem headera.
Kurcze, teraz to zglupialem. Nigdy nie uzywalem opcji ob_start, wiec chyba robie cos nie tak.
Kod wyglada teraz tak:
function start(){header("Location:".$wyn[0]);}
$host="host";
$baza="test";
$user="test";
$passwd="haslo";
$con=mysql_connect ("$host","$user","$passwd");
mysql_select_db("$baza",$con);
$search = explode("-", $_GET['id']);
$id=$search[0];
$la=$search[1];
if($la==1){$zap="select sm_link from cars_link where id_sm=$id";}
if($la==2){$zap="select sm_linken from cars_link where id_sm=$id";}
$pyt = mysql_query($zap, $con);
$wyn =mysql_fetch_row($pyt);
ob_start('start');
I niestety dostaje blad 302, ze dokument zostal przeniesiony.
I tego teraz nie rozumiem:/
Natomiast gdy zrobilem tak:
ob_start();
$host="host";
$baza="test";
$user="test";
$passwd="haslo";
$con=mysql_connect ("$host","$user","$passwd");
mysql_select_db("$baza",$con);
$search = explode("-", $_GET['id']);
$id=$search[0];
$la=$search[1];
if($la==1){$zap="select sm_link from cars_link where id_sm=$id";}
if($la==2){$zap="select sm_linken from cars_link where id_sm=$id";}
$pyt = mysql_query($zap, $con);
$wyn =mysql_fetch_row($pyt);
header("Location:".$wyn[0]);
ob_end_flush();
wtedy tamten serwer wykrywa, ze jest to przejscie z innej strony :(