Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / web / example1 / Введение в PHP.doc
Скачиваний:
96
Добавлен:
18.05.2015
Размер:
3 Mб
Скачать

Редактирование адресов

Для редактирования 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>

Соседние файлы в папке example1