Архив рубрики «Самоучитель по веб-дизайну. Книга 4»
Самоучитель по креативному веб-дизайну. Книга 4, стр.1
Глава 10. РНР4
Тем не
$firstName и
но, чтобы воспользоваться значением, введенным в элементе f irstName, необхо —
димо использовать переменную $firstName (в
В
лее
узером перед отправкой их Web-серверу.
Выполнение всех проверок Web-сервером приведет к увеличению нагрузки на сервер и
Самоучитель по креативному веб-дизайну. Книга 4, стр.2
В
За счет использования внедренных на
Web-серверу. JavaScript —
тителя перед
Тем не
Глава 10. РНР4 51 5
Самоучитель по креативному веб-дизайну. Книга 4, стр.3
ректные данные, они еще раз проверяются на Web-сервере.
ПРАКТИКУМ
Для проверки того,
if (trim($firstName) == «»)
{
echo «** He введена фамилия **«;
$formResultsValid = false;
}
(is_numeric(), is__reai() и is_intege r
в
к допустимому диапазону значений.
В отличие от переключателей, каждый флажок на форме является независи —
мым объектом и не входит в
новленных флажков (т. е.
крестиком), чтобы
жок, в
if ((!isset($windows)) && (!isset($mac)) && (!isset($unix)))
{
» ;
$formResultsValid = false;
}
Встроенная РНР-функция isse t () возвращает значение true,
51 6 Глава 10. РНР4
Web-браузер работает с переключателями по группам на основании имени
группы, присвоенного в
Самоучитель по креативному веб-дизайну. Книга 4, стр.4
реключателей С именем giveOutEmailAddr:
Web-браузер в
if (!isset($giveOutEmailAddr))
{
«свой адрес электронной почты» ;
$formResultsValid = false;
}
не
И,
Windows 98
Windows ME
Windows XP
Macintosh
Unix
Linux
Обратите внимание на квадратные скобки ([]) , которые находятся за
Самоучитель по креативному веб-дизайну. Книга 4, стр.5
ледней выбранной в списке выбора). Это не важно, если в дескрипторе
не
Глава 10. РНР4 51 7
выбора, как и в
ция isset():
if (!isset($currentOS))
{
«которые используете в настоящее время. » ;
$formResultsValid = false;
}
$formRe suits Valid = true;
/*
держащих корректные данные, и выводят имена и «сообщение об ошибке» и ус —
танавливают значение булевой
во внешней РНР-странице.
у
echo «»;
echo «Введенная вами информация передана «.
«на обработку. Спасибо!»;
}
кнопку «Back» **
else
{
echo «
Самоучитель по креативному веб-дизайну. Книга 4, стр.6
сообщение. К
ронного сообщения с
сервера, при необходимости отправки сообщения по электронной почте вы уже
не будете зависеть от наличия в
ПРАКТИКУМ
Перед использованием PHP-функции maii o
путь к программе sendmaii) в файле php. ini.
го
Windows NT,
установить параметры SMPT И sendmail from В
ла, как показано в следующем примере:
[mail function]
SMTP = smtp. lvcablemodem. com ; только для Win32
sendmail_from = kki@NVBizNet. com ; только для Win32
;Только для Unix. Вы
; (по умолчанию: ‘sendmaii —t — i1) .
;sendmail_path =
Для отправки сообщения по
Самоучитель по креативному веб-дизайну. Книга 4, стр.7
ру возможность
• Настроек
• Ключа,
• Ключа
• Товаров, выбранных посетителем на сайте
позволят
К сожалению,
от хранения и считывания
Глава 10. РНР4 52 1
ПРАКТИКУМ
те следующий
// Создать
// «тестового» cookie-набора
$today = getDate();
$dateString = $today[•month'].» «.$today['mday '].» ,
$today['year'];
// Попытаться установить cookie-набор 1
setCookie(«TestCookie», $dateString);
// Остальная
Если вы передаете
.рпр, а индексная
сценария в Web-страницу с расширением. рпр, например, в код страницы
LoginPage. php. Затем в дескриптор
index. htm или defauit. htm)
Далее на PHP-странице, которая загружается в Web-браузер
// Создать строку данных, с которой будет сравниваться
// значение cookie-набора
$today = getDate();
$dateString = $today['month'].» «.$today['mday'].», «.$today['year'];
if (!empty($testCookie))
{
if ($testCookie == $dateString)
{
// Проверить имя пользователя и пароль и если данные верны
// перейти на страницу успешного входа на сайт
header(«Location: Loggedln. htm»);
exit;
}
}
// Если cookie-набор не было установлен, вывести на экран страницу, которая
// предлагает
header(«Location: NeedCookies. htm»);
exit;
?>
Проверку
Web-браузер передает и принимает cookie-набор только в качестве части заголов —
ка Web-страницы.
52 2 Глава 10. РНР4
сценарии
в cookie-файле на жестком диске в компьютере
Самоучитель по креативному веб-дизайну. Книга 4, стр.8
$testcopkie и сравнить его со значением
$testcookie не определена или ее значение не соответствует
браузер не сохранил
Использование РНР и дискового
исключить
имени пользователя и пароля
Для простоты установим
равным «usemame», а второго элемента — «password». Для передачи в РНР-сце —
Самоучитель по креативному веб-дизайну. Книга 4, стр.9
if ($fp = fopen(«с:\\password. txt», «г»))
{
while (feof ($fp) — 0)
{
// Прочитать из файла
$line = trim(fgets($fp,1000));
// Каждая строка в файле
$userPass = split(«,», $line);
// Проверить наличие в файле введенного имени и пароля
if (($userPass[0] == $username) and ($userPass[1] == $password))
{
header («Location: ChptlOTip05LoginSuccessful. htm»);
exit;
}
}
// Введены
}
Если сценарий находит в файле
52 4 Глава 10. РНР4
страницу,
пароль, он передаст
(chptiOAccessDenied. htm) и откажет посетителю в доступе к ресурсам с ограни — ченным доступом.
Чтобы предотвратить
паролей, храните его
те слова
При установке в качестве
Для защиты чувствительной
протокол
ду Web-сервером и Web-браузером.
зер
Самоучитель по креативному веб-дизайну. Книга 4, стр.10
не придется.
префикса «https:// » вместо стандартного «http:// » для
образом,
header(«Location:https://www. NVBizNet. com/LoginScript. php»
вместо
header(«Location:http://www. NVBizNet. com/LoginScript. php»
Глава 10. РНР4 52 5
Предотвращение перехода посетителей по ссылкам на сайт
В предыдущем совете вы узнали,
дит верные имя и пароль,