Мы рассмотри каталог ссылок на PHP который не использует MySQL.
Функции
Наш каталог будет не простым. Он будет иметь администрирование, причём администрирование будет защищено логином и паролем.
Сначала разбёрём фнукции каталога:
1. Добавление ссылки
2. Вывод ссылок
3. Подсчёт количества ссылок в каждой категории(разделе).
Функции администрирования
1. Вывод ссылок непровернных
2. Вывод проверенных ссылок
3. Редактирование любых сcылок
4. Удаление ссылок
5. Оценка ссылок
Файлы
Мы будем использовать вот какие файлы:
1. addlink.php
В этом файле стоит форма для добавления ссылок. А именно: Название,
Адрес, Категория, Описание. Эта форма ссылаеться на файл tomoder.php -
action=tomoder.php.
2. tomoder.php В этом файле обрабатываеться ссылка, ей присваеться
значение check=0, имееться ввиду то что она ещё непроверена, а значит
не допущена к выводу.
3. файлы вывода ссылок
В этих файлох будет выводиться ссылки
4. admin.php
Файл администрирования защищенный паролем и логином. Использует edit.php
5. edit.php
Содержит в себе форму для редактирования ссылок в admin.php
6. id.txt
содержит id ссылки 6. links.txt
содержит ссылки
Код
addlink.php
Здесь сложного ничего нет - простая форма.
tomode.php
$idopen = fopen('id.txt','r'); // открываем файл с id прошлой ссылки
$idlink = fgets($idopen, 1000); // переменной idlink присвоем значение id прошлой ссылки
$idlink++; // увеличиваем id на 1
fclose($idopen); // закрываем файлик
$idopen = fopen('id.txt', 'w'); // открываем заново
fputs($idopen, $idlink); // добавляем новый id
fclose($idopen); // закрываем файлик
$file = fopen('links.txt', 'r'); // открываем файл со ссылками
$links = unserialize(fread($file, 100000)); // расшифровыаем данный массив со ссылками
fclose($file); // закрываем файлик
$filename = "links.txt"; // файл со ссылками
function open_links($filename) {
$open = fopen($filename, "r");
$links = unserialize(fread($open,100000));
fclose($open);
return $links;
}
// функция для открывания ссылок
function save_links($filename, $links) {
$open = fopen($filename, "w");
fputs($open, serialize($links));
fclose($open);
return 1;
}
// функция для открывания ссылок
?>
$links = open_links($filename); // открываем ссылки
echo "Непроверенные:
"; // говорим что щас будут непроверенные ссылки
foreach ($links as $link) { // раскрадываем массив массивов
if($link[check]==0) { // если не проеренно
echo "$link[name]
$link[url]
$link[description]
$link[cat]
$link[id]
\n"; // вывод ссылок
$idd = $id;
}
}
echo "Проверенные:
"; // говорим что щас будут проверенные ссылки
foreach ($links as $link) { // раскрадываем массив массивов
if($link[check]==1) { // если проверено
echo "$link[name]
$link[url]
$link[description]
$link[cat]
$link[id]
\n"; // вывод ссылок
$idd = $id;
}
}
?>
foreach($links as $link) {
if ($id==$link[id]) { // если id в урле совпадает с id ссылки то..
. include "edit.php"; // ... то открываем файл edit.php для редактирования данной ссылки
break;
}
}
?>
if(!empty($button)){ // если кнопка сохранения не пуста (в edit.php)
if (isset($editlink)) { // если есть новая подредактированая ссылка
foreach($links as $key=>$link) { // передаём ключ к массиву
if ($link[id]==$editlink[id]) { // если совпадают id
$links[$key] = $editlink; // вносим новые значения в эту ссылку
save_links($filename, $links); // и записываем эту ссылку в файл
break;
}
}
}
}
if(!empty($button1)){ // если кнопка удаления не пуста (в edit.php)
if (isset($editlink)) { если есть новая подредактированая ссылка
foreach($links as $key=>$link) { // передаём ключ к массиву
if ($link[id]==$editlink[id]) { // если совпадают id
$links[$key] = $editlink; // вносим новые значения в эту ссылку
unset($links[$key]); // удаляем ссылку
save_links($filename, $links); // сохраняем массив
break;
}
}
}
}
?>
edit.php
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Если после прочтения статьи у Вас возникли вопросы/предложения/дополнения, Вы можете изложить их на нашем форуме в соответствующем разделе. Если Вы являетесь автором статьи которая размещена на нашем портале незаконно, просим Вас сообщить нам об этом.