Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Скрипт регистрации пользователей без MySQL

2.2K
22 февраля 2006 года
fogg
114 / / 21.02.2006
Помогите пожалуйста написать скрипт регистрации пользователей без MySQL (в файл), а потом авторизации из этого файла. Заранее благодарен.
15
22 февраля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by fogg
Помогите пожалуйста написать скрипт регистрации пользователей без MySQL (в файл), а потом авторизации из этого файла. Заранее благодарен.


Т.е. написать за тебя? Если да, то наверное проще на сайт бесплатных скриптов и искать там.

8.4K
22 февраля 2006 года
assume
74 / / 22.02.2006
Цитата:
Originally posted by fogg
Помогите пожалуйста написать скрипт регистрации пользователей без MySQL (в файл), а потом авторизации из этого файла. Заранее благодарен.


PHP:

session_set_save_handler
session_start
scandir
http://sources.codenet.ru/download/787/session_php.html
---

8
22 февраля 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by assume
PHP:

session_set_save_handler
session_start
scandir
---


Дивный ответ... Все сразу всё поняли....

По теме:
тут нужно плясать от массива пользователей. Нужно абстрагироваться от того, где их брать и предоставлять нужному скрипту пресловутый массив. Т.е., пишем отдельный класс для работы с файлами данных пользователей, и его методами передаём эти данные. Если понадобится использовать БД - пишем такой же класс для БД, не меняя больше ничего.

2.2K
23 февраля 2006 года
fogg
114 / / 21.02.2006
Ладно... Помогите создать скрипт который может записывает something в файл и вычитывает из него!
15
24 февраля 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by fogg
Ладно... Помогите создать скрипт который может записывает something в файл и вычитывает из него!


Ман читать (хоть на этом сайте) не пробывал? Поверь, займёт минут 25 - 30, а пользы мальца больше:).

8
24 февраля 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by fogg
Ладно... Помогите создать скрипт который может записывает something в файл и вычитывает из него!



Писал ровно 12 минут.
Предлагаю хранить это всё в строке-сериализованном массиве:

Код:
<?php
class Authorize
{
    /**
     * Адрес файла с данными
     * Думается, нет нужды напоминать, что он должен находится
     * за корневой дирректорией сервера.
     */

    const DATA_FILE = "/path/usersData.txt";

    /**
     * Массив с данными пользователей вида
     * Array
     *(
     *    [0] => Array
     *        (
     *            [OID] => Integer
     *            [login] => String
     *            [password] => md5(String)
     *        )
     *........
     *    [N] => Array
     *        (
     *            [OID] => Integer
     *            [login] => String
     *            [password] => md5(String)
     *        )
     *
     *)
     *
     * * @var array
     */

    public $usersRecordArray;

    /**
     * Устанавливает массив $this->usersRecordArray данными из файла,
     * если файл существует и доступен для чтения.
     * Иначе переменной присвайвается значение пустого массива.
     */

    public function getData(){
        if(is_readable(self:: DATA_FILE)){
            $fp = fopen(self:: DATA_FILE, "r");
            $res = fread($fp, filesize(self:: DATA_FILE));
            fclose($fp);
            if(strlen(trim($res))) $this->usersRecordArray = unserialize($res);
        }
        else $this->usersRecordArray = array();
    }

    /**
     * Записывает в файл сериализованное значение массива $this->usersRecordArray
     *
     */

    public function saveData(){
        if(is_writable(self:: DATA_FILE)){
            $fp = fopen(self:: DATA_FILE, "w");
            fwrite($fp, serialize($this->usersRecordArray));
            fclose($fp);
        }
    }

    /**
     * Ищет в массиве $this->usersRecordArray запись по полям 'login' и 'password'
     * Если находит - возвращает массив вида
     * Array
     *(
     *    [OID] => Integer
     *    [login] => String
     *    [password] => md5(String)
     *)
     * Иначе - пустой массив
     * @param string $logon
     * @param string $password
     * @return array
     */

    public function findUseryLogonAndPassword($logon, $password){
        if(is_array($this->usersRecordArray) && strlen($logon) && strlen($password)){
            foreach($this->usersRecordArray as $row){
                if($row['login'] == $logon && $row['password'] == md5($password)){
                    return $row;
                }
            }
            return array();
        }
        else return array();
    }
}

/**
 * Пример использования:
 */

$userclass = new Authorize;

/**
 * Пытаемся что-то добавить в массив
 */

$userclass->usersRecordArray[] = array('OID'=>1, 'login'=>'fogg', 'password'=>md5('alskdjfhg'));
$userclass->usersRecordArray[] = array('OID'=>2, 'login'=>'sdhfjkhk', 'password'=>md5('039478503'));
/**
 * Сохраняем в файл
 */

$userclass->saveData();
/**
 * Получаем данные из файла
 */

$userclass->getData();
/**
 * Пытаемся найти запись
 */

print_r($userclass->findUseryLogonAndPassword('fogg', 'alskdjfhg'));
?>


Там, где self:: DATA_FILE - пробел между : и D нужно убрать. Поставил, т.к. смайл пытается воткнуть :D
15
24 февраля 2006 года
shaelf
2.7K / / 04.05.2005
Ну вот, блин. Надеялся, что человек сам чему то научиться:(.
17K
01 марта 2006 года
stager
2 / / 01.03.2006
Цитата:
Originally posted by mfender
Писал ровно 12 минут.
Предлагаю хранить это всё в строке-сериализованном массиве:



А на какой версии php написана программа?
у меня почему то const и public не понимает в таком раскладе? :(

или как можно поменять или исправить?

15
01 марта 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by stager
А на какой версии php написана программа?
у меня почему то const и public не понимает в таком раскладе? :(

или как можно поменять или исправить?


Ну вот, слетелись как мухи... Может проще попробывать взять этот самый public и на php.net посмотреть, а?

8
01 марта 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by stager
А на какой версии php написана программа?
у меня почему то const и public не понимает в таком раскладе? :(

или как можно поменять или исправить?


Однако... Слов нет, сплошные эмоции...:{

15
02 марта 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by mfender
Однако... Слов нет, сплошные эмоции...:{


Тут нужно в правилах закрепить, что сначало в поиск, затем вопросы. Скоро вешаться можно будет. Я не удивлюсь, что начнуться вопросы типа "что такое интернет".

10
02 марта 2006 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by shaelf
"что такое интернет".


Хороший вопрос. Если задать, будет флейм на пять страниц минимум.

17K
02 марта 2006 года
stager
2 / / 01.03.2006
Цитата:
Originally posted by Freeman
Хороший вопрос. Если задать, будет флейм на пять страниц минимум.



Вообщето для это го и форумы - чтобы если были вопросы их решать оперативно - иначе форумы никому не будут нужны...

так всет аки может кто-нть помочь с Логином на сайте без mysql?

8
02 марта 2006 года
mfender
3.5K / / 15.06.2005
Цитата:
Originally posted by stager
Вообщето для это го и форумы - чтобы если были вопросы их решать оперативно - иначе форумы никому не будут нужны...

так всет аки может кто-нть помочь с Логином на сайте без mysql?


Ты внимательно прочитал то, что выше?

15
02 марта 2006 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by stager
Вообщето для это го и форумы - чтобы если были вопросы их решать оперативно - иначе форумы никому не будут нужны...

так всет аки может кто-нть помочь с Логином на сайте без mysql?


Тогда если ты такой умный, ответь, а зачем делают факи? Для того чтоб все вопросы в форумах задавались? На действительно интересные вопросы хочеться отвечать и искать ответ. Форумы нужны для того чтоб ответить человеку который искал и не нашёл, а не тем, которые "во блин, вопрос, а нафига мне искать в поисковике, если задам в форуме и может быть ответят".

12
03 марта 2006 года
alekciy
3.0K / / 13.12.2005
Цитата:
Originally posted by fogg
Помогите пожалуйста написать скрипт регистрации пользователей без MySQL (в файл), а потом авторизации из этого файла. Заранее благодарен.


Учите мат часть! (с)
А код уже привели. Осталось его понять и подключить у себя. Ну а если невыходит/неохота, то...
"Если с первого раза не получилось: парашютный спорт не для вас!" (с)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог