Просто бесполезно задавать подобные вопросы на SO.
Там должно быть тысячи причин.
И, конечно же, без доступа к вашему серверу и среде никто не может сказать, просто взглянув на рабочий код.
Единственный человек, который может ответить на этот вопрос, это вы сами.
С помощью вашего сервера, конечно.
Вы должны запросить ошибки на вашем сервере.
ini_set('display_errors',1);
error_reporting(E_ALL);
но иногда (например, в случае ошибок разбора) это не сработает. В этом случае вы должны либо установить эти параметры через .htaccess, либо проверить журнал ошибок веб-сервера.
Кроме того, вы должны сделать что-то .
По крайней мере, добавьте текстовый вывод в скрипт, чтобы убедиться, что он выполняется.
распечатайте переменные, используя var_dump (), чтобы убедиться, что они содержат правильные значения.
Добавьте преднамеренную ошибку, чтобы убедиться, что вы МОЖЕТЕ увидеть их, если таковые имеются.
Сделайте что-нибудь, не сидите и не смотрите код!
Еще немного информации о том, как помочь себе: http://www.ibm.com/developerworks/library/os-debug/