Я - девственница PHP (первый день), поэтому, пожалуйста, печатайте медленно.
У меня есть несколько изображений, bg_001.jpg, bg_002.jpg и т. Д., Которые я хочу поворачивать при каждом обновлении страницы. Я попробовал это:
if (isset($_COOKIE["bg1"])) {
$img_no = $_COOKIE["bg1"] + 1;
} else {
$img_no = 1;
}
$filename = 'bg_' . sprintf("%03d", $img_no) . '.jpg';
if (!file_exists("/img/" . $filename)) {
$img_no = 1;
$filename = 'bg_' . sprintf("%03d", $img_no) . '.jpg';
}
setcookie("bg1", $img_no, time() + 86400);
print '<img src="img/' . $filename . '" alt="" height="175" width="800"> ';
Вместо печенья я получаю
Warning: Cannot modify header information - headers already sent by (output
started at /home2/.../about.php:7) in /home2/.../about.php on line 31
Строка 31 - строка с setcookie . Я уже нашел указатели на то, что у PHP возникли проблемы с спецификацией Unicode, но я понятия не имею, как ее исправить (если это проблема здесь, в первую очередь).
Итак, чтобы сделать его официальным (и избежать ярлыка «не реальный вопрос»), как мне это исправить? : -)
Конструктивная критика моего кода тоже приветствуется.
Эпилог:
Похоже на обычную ошибку новичка: несколько ответов на одно и то же решение в течение пятнадцати минут. Спасибо, парень / Galz.
Итак, я переместил все, кроме print в начало файла, и действительно: исправлено.