Файл niz.php
Использовать массивы $HTTP_COOKIE_VARS[] и $_СООК1Е[] лучше с точки зрения безопасности. Если в сценарии используются одноименные cookie переменные, а не элементы этих массивов, то в том случае, если cookie не установлен, злоумышленник все равно может передать сценарию значение такой переменной, попросту указав его в адресной строке браузера. В указанные же массивы попадают исключительно полученные с cookie данные. Однако в рассматриваемом в данной главе сценарии это несущественно.
Рис. 10.3. Файл php.ini. Вышеупомянутые настройки
Если cookie не установлен – т. е. посетитель ранее не голосовал за данную статью…
{
…то выведем ему форму для голосования:
.?> <form method="post" action="otziv.php">
Передадим в скрытом поле формы имя файла со статьей без расширения – для определения на основе него сценарием-обработчиком имен файлов со сведениями о количестве оценок и среднем балле, а также полное имя, вместе с путем, файла со статьей – для вывода ссылки "Назад" на странице со сценарием-обработчиком. В принципе можно было бы передавать через форму только полное имя файла со статьей, а "чистое" имя файла статьи определять в сценарии-обработчике точно так же, как и в сценарии из niz.php – на основе функции basename, но для сокращения длины кода в обработчике воспользуемся передачей его через форму.
<input name="nom" type="hidden" value="<?php echo $nom;?>"> <input type=hidden name=nazad value=<?php echo ($PHP_SELF);?>>
Выведем форму ввода оценки.
Поставьте оценку статье:
<SELECT NAME=ocen> <OPTION VALUE=5>5 (Отлично) <OPTION VALUE=4>4 (Хорошо) <OPTION VALUE=3>3 (Удовлетворительно) <OPTION VALUE=2>2 (Плохо) <OPTION VALOE=1>1 (Очень плохо) </SELECT>