
- •В.С. Романчик
- •Глава 2. Использование php.
- •Глава 3.
- •Введение
- •Возможности php.
- •Инструменты для разработки
- •Как php работает
- •Глава 1. Язык php Типы данных
- •Массивы и инициализация массивов
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и директива error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и от сервера клиенту
- •Клиентские методы http get, post, head
- •Обработка html-форм и передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Ниже рассмотрен еще один пример передачи данных из клиентской формы на сервер по методу get
- •Передача данных на сервер по методу post
- •Php и обработка различных форм
- •Примеры обработки форм
- •Работа с e-mail
- •Отправка почты на php (Функция mail)
- •Cookies-наборы: сохраненное состояние
- •Сессии (Сеансы) Переменные сеанса
- •Отмена регистрации сеансовых переменных
- •Работа с сеансовыми переменными
- •Постоянные данные, использующие сеансы и cookie-наборы
- •Вывод графических данных с помощью рнр Основной способ создания изображений
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Работа с палитрой изображения
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование специальных стилей для заливки
- •Использование шрифтов и вывод строк
- •Манипулирование и копирование изображений
- •Создаём графический информер на php
- •Слияние изображений с помощью gd
- •Включения удаленных файлов
- •Различные приложения и полезные скрипты на php
- •Пример. Определение типа и версии браузера
- •Генератор паролей на php
- •Время выполнения скрипта
- •Календарь
- •Загрузка файла от клиента на сервер
- •Работа с ftp на уровне php
- •Сбор статистики на php
- •Проверка ввода емайл
- •Чтение почты через Web-интерфейс
- •Разработка собственных листов рассылки
- •Рассылаем письма
- •Добавляем адреса в список рассылки
- •Редактирование адресов
- •Автоответчик
- •Почтовые функции в рнр
- •Задания для выполнения
- •Приложение 1. Протокол передачи гипертекстов http
- •Клиентские методы и заголовкиHttp
- •Указатель ссылки ("Referer")
- •Медиа-типы
- •Кодирование
- •Безопасность и авторизация
- •Кэширование содержимого http на стороне клиента
- •Http идентификация с php
- •Сжатие данных в протоколе http
- •Модель ajax: между загруженной в браузер страницей и сервером появляется прослойка - уровень ajax, который обеспечивает следующую последовательность выполнения приложения.
- •Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Проблема с кешированием
- •Информируйте пользователя
- •Нет принципов написания кода
- •Аутентификация средствами php
- •Отделение клиентская части программы от серверной части и шаблоны
- •Использование шаблонов в php
- •Шаблоны подстановки
- •Создаем свои шаблоны в php
- •Теги, атрибуты, значения
- •Структура документа
- •Разрыв строки
- •Предварительное форматирование
- •Комментарии
- •Физическая и логическая разметка документа
- •«Физические» теги:
- •«Логические» теги:
- •Специальные символы
- •Графика
- •Формы html
- •Метатеги
- •Способы включения каскадных таблиц стилей
- •Синтаксис
- •Группирование
- •Наследование
- •Множественные классы.
- •Селекторы идентификаторов (id-селекторы).
- •Комментарии
- •Свойства шрифтов.
- •Свойства текста.
- •Представление документа в виде специальных областей – блоков
- •Отступы, поля, позиционирование.
- •Границы элементов.
- •Визуальные эффекты
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Различные свойства
- •Css. Примеры
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Приложение 11. Популярные веб-приложения и фреймворки
- •Фреймворки
Редактирование адресов
Для редактирования e-mail адресов списка рассылки в качестве простого и, тем не менее, эффективного решения можно использовать прямое редактирование текста соответствующего файла. В первую очередь у нас должна быть форма, в которой мы будем выбирать редактируемый список рассылки. Ниже приведен текст соответствующего файла. Как видно, он не очень-то отличается от предыдущих файлов с формами и приводится здесь исключительно с целью демонстрации простоты разработки такого типа форм (для тех читателей, кто пока еще не является профессионалом в php-программировании).
<html><head><title>Редактирование адресов</title></head><body>
<center><H2>Редактирование адресов</H2></center>
<form method=post action="editnames.php">
<table>
<td align="left">
<b>Выберите список:</b>
</td>
<td align="left">
<select name="List" size=1>
<?
$groups = file("data/lists.txt");
for ($index=0; $index < count($groups); $index++)
{
$grouplist = split("\|", chop($groups[$index]));
?>
<option value="<? print $grouplist[1] ?>"
<? if ($index==0)
{print " selected ";}
?>
>
<?
print $grouplist[0]
?>
</option>
<?
}
?>
</select>
</td>
</tr>
</table>
<input type="submit" name="Submit" value="Редактировать">
</form>
<a href="newlist.php">Создание нового листа списка рассылки.</a>
<br><a href="addnames.php">Добавить адреса в список</a>.
<br><a href="data/log.txt">Просмотр журнала</a>.
<br><a href="autoresponder.php"> Просмотр/редактирование автоответчика</a>.
</body></html>
Теперь, когда первая форма создана, следует написать скрипт, выводящий на экран содержание списка рассылки. Для этого мы читаем содержимое файла, соответствующего выбранному листу, а затем помещаем его содержимое в элемент ввода типа textarea:
<html><head><title>Редактирование адресов</title></head><body>
<form method=post action="writenamefile.php">
<br>
Редактируем <? echo $List ?>.
<br><br>
Отредактируйте существующие адреса или исключите из списка, удалив всю строку.
<b>Пустые строки не допускаются!</b>
<br><br><textarea cols=50 rows=20 name="Body">
<?
if (file_exists("data/$List"))
{readfile("data/$List");}
?>
</textarea>
<br><br>
<input type="hidden" name="List" value="<? echo $List ?>">
<input type="submit" name="submit" value="Сохранить"></FORM>
<br>
<a href="index.php">На главную</a>.
</body></html>
Обратите внимание на то, каким образом мы передаем в скрипт writenamefile.php имя файла со списком адресов:
<input type="hidden" name="List" value="<? echo $List ?>">
Хочу также упомянуть о функции, которую мы использовали для передачи содержимого файла непосредственно в форму: readfile(). В данном файле отсутствуют какие-либо проверки (в частности, на корректность адресов). При разработке своих собственных скриптов вы могли бы реализовать такого рода механизмы с использованием, к примеру, JavaScript. Результат работы скрипта editnames.php представлен на рисунке 3.
Следующим шагом будет разработка скрипта, отвечающего за запись отредактированных данных в файл. Здесь все очень просто: получаем данные из элемента ввода типа textarea (переменная $Body) и записываем его содержимое в файл:
<html><head><title>Сохраняем изменения...</title></head><body>
<br><br>
Изменения сохранены в списке <? echo $List ?>.<br>
<?
$myfile = fopen("data/$List","w");
fputs($myfile,$Body);
fclose($myfile);
?>
<br>
<a href="index.php">На главную</a>
</body></html>