52680.fb2 Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 157

Справочник по PHP - читать онлайн бесплатно полную версию книги . Страница 157

Советы по PHP

Запрет кэширования посредством PHP

Запрет кэширования посредством PHP

Большинство сценариев формируют документы, которые при каждом запуске программы изменяются. Очевидно, если браузер пользователя начнет кэшировать такие документы, ничего хорошего не получиться.

Запретить кэшировать документы браузером и Proxy-серверами можно при помощи средств языка PHP, а именно функции Header().

Для этого надо использовать в начале сценария следующие команды:

Header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); //Дата в прошлом Header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 Header("Pragma: no-cache"); // HTTP/1.1 Header("Last-Modified: ".gmdate("D, d M Y H:i:s")."GMT");

Для полного запрета кэширования приходиться всегда посылать 4 указанных заголовка, и ни один пропустить нельзя - в противном случае не сработает либо браузер, либо Proxy-сервер.

Создание голосования на PHP

Создание голосования на PHP

Для начала надо определиться, о чем мы будем спрашивать посетителей. Например, понравился им ваш сайт или нет.

Для нашего голосования нам потребуются четыре файла:

Например мы хотим задать посетителям следующие вопросы:

В файл form.html запишем:

<form action=golos.php method=post><table cellspacing cellpadding=0 border=0>

<tr><td align=center colspan=2><B>Голосование:</B></td></tr>

<tr><td align=center colspan=2><B>Ваше мнение о сайте:</B></td></tr>

<tr><td><input type=radio name=otv value=1 checked></td><td>Просто супер!</td></tr>

<tr><td><input type=radio name=otv value=2></td><td>Нормальный.</td></tr>

<tr><td><input type=radio name=otv value=3></td><td>Так себе.</td></tr>

<tr><td><input type=radio name=otv value=4></td><td>Мне все равно.</td></tr>

<tr><td><input type=radio name=otv value=5></td><td>Плохой.</td></tr>

<tr><td><input type=radio name=otv value=6></td><td>Хуже не видел!</td></tr>

<tr><td colspan=2 align=center><input type=submit name=golos value="Голосовать"></td></tr></table</form>

После нажатия кнопки Голосовать переменная $otv перейдет на обработку сценарием в файле golos.php

В файл data.txt надо записать начальные данные, которые затем будут оттуда считаны и обработаны.

Создайте файл data.txt и в текстовом редакторе запишите в него следующие строки:

Результаты голосования:000000

Первая строка у нас учитываться не будет.

В остальные шесть строк надо ввести нули, нажимая после каждой цифры клавишу Enter.

В файле golos.php, который у нас отвечает за обработку результатов, напишем следующее:

<html>

<head>

<title>Обработка голосования</title>

</head>

<body>

<?php

if(@$golos) {

// Здесь мы запускаем обработку данных только если

// была нажата клавиша Голосовать

$file_name="data.txt";

// Переменная $file_name задает имя файла с результатами

$file=file($file_name);

// Записываем файл с данными в массив $file

$file_len=count($file);

// $file_len - количество строк в файле data.txt

for($i=1,$n=0;$i<$file_len;$i++) {

$file[$i]=trim($file[$i]);

$n=$n+$file[$i];

};

// В этом цикле мы убираем символы перевода строки и записываем в

// переменную $n сколько человек уже проголосовало