Здравствуйте, гость ( Вход | Регистрация )

3 страниц V < 1 2 3 >  
Ответить в эту темуОткрыть новую тему
> PHP Web-регистрация
Jakut
сообщение 19.8.2010, 11:30
Сообщение #21


***

Novice
Сообщений: 86
Регистрация: 9.12.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 4.567



Как сделать скрипт скажите???
Parse error: syntax error, unexpected T_START_HEREDOC in C:\AppServ\www\register\config.php on line 157

Бесит этот Еррор.... Я не очень понимаю в пхп... так-что могли вы бы помочь мне.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Kanibal
сообщение 19.8.2010, 15:22
Сообщение #22


********

Master
Сообщений: 1.337
Регистрация: 19.9.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.115
Возраст: 7



Цитата(Jakut @ 19.8.2010, 11:30) *

Как сделать скрипт скажите???
Parse error: syntax error, unexpected T_START_HEREDOC in C:\AppServ\www\register\config.php on line 157

Бесит этот Еррор.... Я не очень понимаю в пхп... так-что могли вы бы помочь мне.



уже было написано как обойти ошибку...... у меня всё работает норм
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Jakut
сообщение 19.8.2010, 21:40
Сообщение #23


***

Novice
Сообщений: 86
Регистрация: 9.12.2005
Группа: Пользователи
Наличность: 0
Пользователь №: 4.567



То, что я там прочитал, я нечего не понял, вот вам трудно например глупому человеку объяснить где и как там исправить чтобы работала?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Kanibal
сообщение 20.8.2010, 18:49
Сообщение #24


********

Master
Сообщений: 1.337
Регистрация: 19.9.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.115
Возраст: 7



Цитата(Jakut @ 19.8.2010, 21:40) *

То, что я там прочитал, я нечего не понял, вот вам трудно например глупому человеку объяснить где и как там исправить чтобы работала?


вместо

const lngMAccountCreated = <<<EOF
Логин: %2\$s<br />
Пароль: %3\$s<br />
E-Mail: %1\$s
EOF;

написать

const lngMAccountCreated = "
Логин: %2\$s<br />
Пароль: %3\$s<br />
E-Mail: %1\$s
";
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kalinka
сообщение 30.9.2010, 18:07
Сообщение #25


**

Neophyte
Сообщений: 49
Регистрация: 24.8.2010
Группа: Пользователи
Наличность: 0
Пользователь №: 12.951
Возраст: 22



а скрипт на хостинге будет работать или только с локальной машины
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 3.10.2010, 17:17
Сообщение #26


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Для регистрации я использую следующий вариант:

1. Пользователь проходит регистрацию через сайт. Данные поступают в таблицу users в базе. Вот к примеру дамп:

Код
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(255) NOT NULL,
  `login` varchar(255) NOT NULL,
  `passwd` varchar(255) DEFAULT NULL,
  `ip` varchar(255) NOT NULL,
  `active` smallint(1) NOT NULL DEFAULT '0',
  `code` varchar(255) NOT NULL,
  `sphere` smallint(1) NOT NULL DEFAULT '0',
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `login` (`login`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;


Поле active в моем случае это флаг подтвердил учетку юзер по email или нет. А вот поле sphere будет говорить создан пользователь у нас в sphereaccu или еще нет.

2. Пишем маленькую функцию для выборки всех записей с таблицы где sphere = 0, т.е. тех кто был зарегистрирован на сайте но еще небыл добавлен в базу:

Код
[FUNCTION reg_new_users]
IF (<DB.Connected>==0)
    DB.Connect
ENDIF
DB.QUERY "SELECT * FROM users WHERE `sphere`=0"
if (<DB.ROW.numrows> > 0)
    for i 0 <eval <DB.ROW.numrows>-1>
        SERV.ACCOUNT add <DB.ROW.<eval <LOCAL.i>>.login> <eval <DB.ROW.<eval <LOCAL.i>>.passwd>>
        DB.EXECUTE "UPDATE users SET `sphere`=1 WHERE `login`='<DB.ROW.<eval <LOCAL.i>>.login>'"
        SERV.LOG New User: <DB.ROW.<eval <LOCAL.i>>.login> created!
    end
endif


(функцию добавляем в любой .scp файл или создаем новый в папке scripts)

3. Открываем sphere_triggers.scp, находим f_onserver_timer и добавляем в самом начале запуск нашей функции:

Код
[FUNCTION f_onserver_timer]
reg_new_users
SERV.Account UPDATE
...


Вот и все, теперь каждые N минут функция reg_new_users будет автоматически запускаться и добавлять
в сферу новых пользователей.

п.с. Интервал запуска f_onserver_timer зависит от директивы TimerCall=5 в sphere.ini


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Destruction
сообщение 5.10.2010, 15:31
Сообщение #27


**********

Группа: Администраторы
Наличность: 4
Пользователь №: 1.833



Помнится я по каким-то причинам отказался юзать СуБД напрямую из сферы..

Только вот в упор сейчас не могу понять почему. Выглядит красиво.


--------------------
Discord: tatikom
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 6.10.2010, 23:09
Сообщение #28


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Пока единственная проблема которую я вижу - это нет возможности сделать мгновенное добавление аккаунта в сферу после регистрации. Т.е. в любом случае если таймер стоит 5 минут - то аккаунт реально создастся только спустя 1-5 минут после заполнения формы регистрации.

Конечно подождать 5 минут думаю юзеру будет не проблема, но все равно это минус данного подхода. Но есть также много плюсов, к примеру мне не нужно конектится по телнету к сфере и логинится под реальной учеткой админа что б создать кого то в базе, что само по себе не супер безопасное решение (как в скрипте из этой темы)

База короче рулит, жалко только что сферу нельзя поднять на постгресе или оракле...


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 9.10.2010, 12:17
Сообщение #29


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



Может быть можно как то связать обновление аккаунтов с самим письмом?
Либо использовать функцию проверки файла sphereacct.scp на предмет новой информации и при наличии запустить обновление.


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 10.10.2010, 15:02
Сообщение #30


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



Проверка sphereacct ничего не даст если аккаунты юзеров которые еще не созданы в сфере - находятся в БД.


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
fantasyuo
сообщение 5.12.2013, 8:25
Сообщение #31


**

Группа: Пользователи
Наличность: 0
Из: Riga,Latvia
Пользователь №: 16.470
Возраст: 25



// Указывает состояние скрипта. После проверки обязательно поставить FALSE!
// true - скрипт в режиме тестирования, отображается дополнительная информация, в случае необходимости
// false - скрипт в рабочем режиме, дополнительная информация скрыта
const inDev = FALSE;


Notice: Use of undefined constant E_NONE - assumed 'E_NONE' in C:\xampp\htdocs\index.php on line 13


kak eto popravitj?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
fantasyuo
сообщение 5.12.2013, 9:20
Сообщение #32


**

Группа: Пользователи
Наличность: 0
Из: Riga,Latvia
Пользователь №: 16.470
Возраст: 25



Цитата(fantasyuo @ 5.12.2013, 9:25) *

// Указывает состояние скрипта. После проверки обязательно поставить FALSE!
// true - скрипт в режиме тестирования, отображается дополнительная информация, в случае необходимости
// false - скрипт в рабочем режиме, дополнительная информация скрыта
const inDev = FALSE;


Notice: Use of undefined constant E_NONE - assumed 'E_NONE' in C:\xampp\htdocs\index.php on line 13
kak eto popravitj?

FIXED
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ColloR
сообщение 22.10.2016, 15:10
Сообщение #33


*

Группа: Пользователи
Наличность: 0
Пользователь №: 12.328
Возраст: 19



Люди подскажите этот скрипт реально канает ? и по подробней можете описать установку его?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 19.9.2019, 23:37
Сообщение #34


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Он регистр букв не чувствует. Т.е. llirik, Llirik, LLIRIK - это для него разные аккаунты и он их регает.( А так всё вроде работает норм.)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
RL_ka
сообщение 20.9.2019, 12:38
Сообщение #35


*****

Разработчик Injection
Сообщений: 464
Регистрация: 13.7.2013
Группа: Модераторы
Наличность: 13691
Из: Екатеринбург
Пользователь №: 16.211



Цитата(Llirik @ 19.9.2019, 22:37) *

Он регистр букв не чувствует. Т.е. llirik, Llirik, LLIRIK - это для него разные аккаунты и он их регает.( А так всё вроде работает норм.)


Получается наоборот чувствует
Пользователь в онлайне!Delete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 20.9.2019, 15:05
Сообщение #36


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Цитата(RL_ka @ 20.9.2019, 12:38) *

Получается наоборот чувствует

Ну какая разница? Факт в том, что баг.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 20.9.2019, 15:28
Сообщение #37


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Пхп скрипт 2009 года блэт.
Баг это когда код выполняет действия которые не задумывались. С чего это ты так уверен что там чувствительность регистра не была задумкой?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 20.9.2019, 18:53
Сообщение #38


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Цитата(Aimed @ 20.9.2019, 15:28) *

Пхп скрипт 2009 года блэт.
Баг это когда код выполняет действия которые не задумывались. С чего это ты так уверен что там чувствительность регистра не была задумкой?

Я тестил
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 22.9.2019, 16:33
Сообщение #39


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Ну произнесите колдунство, чтобы это исправить!)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Juzzver
сообщение 22.9.2019, 17:31
Сообщение #40


**********

Модератор RunUO
Сообщений: 3.425
Регистрация: 1.11.2008
Группа: Супермодераторы
Наличность: 22565
Из: Северная Корея
Пользователь №: 11.273



добавь пару строк, чтобы во время создания ник приводился к нижнему регистру, типа lirik. Это решает проблему.
Либо во время сравнения, существует ли такое имя аккаунта, приводи все ники к нижнему регистру и сравнивай с введенным.
https://www.w3schools.com/php/func_string_strtolower.asp

Сообщение отредактировал Juzzver - 22.9.2019, 17:31


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

3 страниц V < 1 2 3 >
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 16:35
Designed by Nickostyle