Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сайт без БД.
 
 автор: Trunk   (24.09.2005 в 12:01)   письмо автору
 
 

Вот зашёл я на форум, не был наверное месяц.
А зашёл чтобы узнать:
1) Как реализизуется регистрация (хранения пароля, имени и т.д.) без базы данных?
2) Какой принцип у новостной ленты без бд?

   
 
 автор: cheops   (24.09.2005 в 12:27)   письмо автору
 
   для: Trunk   (24.09.2005 в 12:01)
 

Обычно всё храниться в текстовых файлах, которые помещают в отдельную директорию. Директорию защищают от просмотра браузером средствами Web-сервера Apache. Таким образом, скрипты на сервере могут читать эти файлы, а посетители нет. Или информацию хранят в PHP-файлах следующего формата
<?php  exit(); ?>
Полезная информация

Обращение к такому файлу через браузер также не позволяет прочитать полезную информацию, однако её вполне можно прочитать при помощи файловых функций.

   
 
 автор: TrunK   (24.09.2005 в 12:38)   письмо автору
 
   для: cheops   (24.09.2005 в 12:27)
 

Это понятно. А как делается регистрация? Создаётся файл с именем пользователя? А пароль просто внутри хранится? И каким методом он от туда достаётся? Вот что я не понял...

   
 
 автор: cheops   (24.09.2005 в 13:01)   письмо автору
 
   для: 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

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования