Ако ползва проверки,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);
?>
разковничето в случая е този оператор (.=) - оператор за конкатениране и присвояване.
Успех!
