Уроки PHP для начинающих


Скрипт добавления комментариев на сайте: убираем ещё один глюк

В процессе использования скрипта я обнаружил ещё один недостаток.

Обратите внимание вот в этом фрагменте на строку, выделенную красным:

<?php
..............
}
}
$f=fopen($gbpath,"r") or die("Не могу открыть файл");// открываем файл с записями
while(1){// вырожденный цикл, для чтения записей из файла
$name=fgets($f,1000);// считываем имя автора
$email=fgets($f,1000);// его e-mail
$text=fgets($f,1000);// сообщение
if(feof($f)) break; // если записей больше нет выходим из цикла
// Выводим данные
echo "<hr>Автор:<a href=mailto:$email>$name</a><br>";
echo "Сообщение:<br>$text<br>";
}
fclose($f);// закрываем файл
?>

В ней открывается файл с записями для вывода всех имеющихся в нём комментариев на страницу ($f=fopen($gbpath,"r")); если же такого файла нет, скрипт выводит сообщение "Не могу открыть файл" - и ОСТАНАВЛИВАЕТ ЗАГРУЗКУ СТРАНИЦЫ. То есть, всё, что находится на странице дальше, просто-напросто не будет загружено.

Как с этим бороться? Достаточно внести маленькое изменение в приведённый выше фрагмент.

Вот это изменение (выделено зелёным):

<?php
..............
}
}
if(file_exists($gbpath))
{

$f=fopen($gbpath,"r");// открываем файл с записями
while(1){// вырожденный цикл, для чтения записей из файла
$name=fgets($f,1000);// считываем имя автора
$email=fgets($f,1000);// его e-mail
$text=fgets($f,1000);// сообщение
if(feof($f)) break; // если записей больше нет выходим из цикла
// Выводим данные
echo "<hr>Автор:<a href=mailto:$email>$name</a><br>";
echo $date. "<br>";
echo "Сообщение:<br>$text<br>";
}
fclose($f);// закрываем файл
}
?>

Как видим, всё очень просто. Мы добавили проверку существования такого файла; если бы он был и в нём были бы записи, скрипт открыл бы, прочитал, вывел на страницу содержимое. Ну а, если файла с комментариями ещё нет, скрипт этот фрагмент просто пропускает, а загружается оставшаяся часть страницы.

Успехов. И читаем дальше >>>

Автор: Андрей Чернобай

P. S. Подпишитесь на безплатную рассылку Вокруг Сайта и получайте на свой электронный адрес новые уроки по созданию сайта.

Оставьте свой отзыв о статье:



Введите цифровой код с картинки*:


Комментарий добавил(а): Иван
04-10-2012
17 час. 29 мин.

Комментарий:
У меня почему-то после этого действия вообще пропадает форма комментариев и сами комментарии. Почему, подскажите пожалуйста.

Новое на сайте

Другие статьи...

Видеокурсы

Рассылки

"Вокруг Сайта"
подпишитесь и получайте на свой e-mail уроки, книги, статьи, скрипты, а также подарки и скидки на товары, продаваемые с сайта

SmartResponder.ru
Ваше имя: *
Ваш e-mail: *

"PHP-песочница"
- PHP для начинающих: уроки с подробным анализом скриптов, необходимых для вашего сайта:

PHP-песочница
Подписаться письмом

Разделы Сайта