$result=mysql_query($sql_info) or die("Error 1: ".mysql_error());
$no= mysql_fetch_array($result);
$groups_no = $no['number'];
mysql_num_rows($result) or die("Error 2: ".mysql_error());
// echo "what's going on?"; if I uncomment this line then the echo below executes
if(($this->user_group=="I am Talent") &&($groups_no==0)) {
header("Location: ".MAIN_URL.$this->groups_page);
echo "what's going on?"; //THIS DOESN'T EXECUTE BY ITSELF...WHY NOT??
}
if(mysql_result(mysql_query(sprintf("SELECT last_update FROM `users_profile` WHERE users_id=%d LIMIT 1",$this->id)),0)==0) {
header("Location: ".MAIN_URL.$this->groups_page);
}
echo "what's going on?"; //won't execute unless the line above
Кто-нибудь знает, почему приведенный выше код не будет работать, если нет оператора эха? С помощью ручных проверок базы данных я подтвердил, что должен выполняться первый оператор if.
Это должно вызвать перенаправление страницы на ссылку, хранящуюся в переменной MAIN_URL.$this->groups_page (и это отсутствие перенаправления было первоначальной проблемой). Однако часть header("Location:...") не выполняется, если нет эха либо в операторе if, либо над оператором if. С чего бы это? Я помещаю оператор эха ПОСЛЕ заголовка («Местоположение:». MAIN_URL. $ this-> groups_page); строка в первом операторе if, и она не выполняется. Он будет выполняться только в том случае, если перед строкой заголовка (...) будет оператор эха.
header()
какexit(header("..."));
, когда они должны быть окончательными. - person mario   schedule 14.12.2011