|
|
|
| Вот зашёл я на форум, не был наверное месяц.
А зашёл чтобы узнать:
1) Как реализизуется регистрация (хранения пароля, имени и т.д.) без базы данных?
2) Какой принцип у новостной ленты без бд? | |
|
|
|
|
|
|
|
для: Trunk
(24.09.2005 в 12:01)
| | Обычно всё храниться в текстовых файлах, которые помещают в отдельную директорию. Директорию защищают от просмотра браузером средствами Web-сервера Apache. Таким образом, скрипты на сервере могут читать эти файлы, а посетители нет. Или информацию хранят в PHP-файлах следующего формата
<?php exit(); ?>
Полезная информация
|
Обращение к такому файлу через браузер также не позволяет прочитать полезную информацию, однако её вполне можно прочитать при помощи файловых функций. | |
|
|
|
|
|
|
|
для: cheops
(24.09.2005 в 12:27)
| | Это понятно. А как делается регистрация? Создаётся файл с именем пользователя? А пароль просто внутри хранится? И каким методом он от туда достаётся? Вот что я не понял... | |
|
|
|
|
|
|
|
для: TrunK
(24.09.2005 в 12:38)
| | Обычно информацию хранят в массивах, которые можно объединять в строку при помощи функции implode
<?php
$arr['id'] = 23;
$arr['name'] = 'cheops';
$arr['pass'] = 'password';
$str = implode('|',$arr); // 23|cheops|password
?>
|
Полученную строку помещают в файл. Для извлечения информации используют функцию file(), которая возвращает массив, кажый элемент которого соответствует отдельной строке файла. Остаётся только прогнать этот массив через цикл foreach, а каждую строку через функцию explode(), которая разобъёт её по символу | (символ можно использовать другой).
<?php
$arrfile = file("filename.txt");
$i = 0;
foreach($arrfile as $line)
{
list($arr[$i]['id'],$arr[$i]['name'],$arr[$i]['pass']) = explode('|',$line);
$i++;
}
echo "<pre>";
print_r($arr);
echo "</pre>";
?>
|
Это один из подходов, другой основан на сериализации, подробнее о нём можно почитать в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=907 | |
|
|
|