Каква е тая грешка

xto

Registered
Warning: Cannot modify header information - headers already sent by (output started at /chroot/usermin/home/allmix/public_html/rateprocess.php:17) in /chroot/usermin/home/allmix/public_html/rateprocess.php on line 231

line 231 - >
Код:
header("Refresh: 3; url=http://www.allmix.org/download.php?id=$id&rated=1");
 
Премести този ред
header("Refresh: 3; url=http://www.allmix.org/download.php?id=$id&rated=1");
най-горе под <?php
и ще се оправи
 
Ами ако използва проверки и тези проверки са му надолу какво предлагаш ?? Няма как да го качи горе тогава затова другия тъп начин е

Код:
<meta http-equiv="refresh" content="3; url=http://www.allmix.org/download.php?id=$id&rated=1">
 
Ако ползва проверки,header(); трябва да е над echo-то или print-а .

Или иначе казано преди да подадете ХТМЛ, текст или каквито и да е знаци към бразуъра.

<meta http-equiv="refresh" content="3; url=http://www.allmix.org/download.php?id=$id&rated=1">

По-добре рефреша или пренасочването да са в хедъра, защото операциите ви са в РНР, а не в хтмл. Ако ще развивате уменията си, по-добре е да свиквате, че не хтмл-а трябва да ви определя структирата на кода, а РНР.

Ако има проблем със стойности, винаги може да ги съберете в променлива и да ги принтирате накрая. По този начин бихте могли да постигнете и другия ефект - да отделите хтмл-а от скриптовете.

Ето и пример с най-мъчния случай, когато има цикъл, чийто резултат трябва да се принтира:

<?
$prom=1;
$masiv=array("z", abvgd", "12345", "tekst");

for($i=0; $i < count($masiv); $i++)
{
$list.="n\".$masiv[$i];
}

if($prom==1)
{
header("Refresh: 3; url=http://www.allmix.org/download.php?id=$id&rated=1");
}

echo nl2br($list);
?>

разковничето в случая е този оператор (.=) - оператор за конкатениране и присвояване.

Успех! :)
 

Back
Горе