Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Скрипты с MySQL [PtokaX] _ RegBot.MySQL_API2

Автор: Kingston 2.2.2010, 7:39

Описание скрипта:
Название: RegBot.MySQL_API2.lua
Версия API: 2
Автор: Kingston
-------------------------
Требуется наличие библиотеки: http://mydc.ru/topic1508.html
-------------------------
Функционал:
Занесение в базу данных пользователя, при регистрации новых юзеров, при заходе на хаб уже зарегеных. При изменеии пароля, запись в базе обновляется. При удалении учетки, так же из базы удаляется запись. Присутсвтуют команды дря работы с базой, вывод информации по IP, нику, ID записи в базе.
В дальнейшем можно использовать базу для восстановления/изменения пароля из формы на сайте.
-------------------------
За основу взят скрипт: RegBot.by.NRJv.1.2_api2.lua
-------------------------
Протестировано на PtokaX 0.4.1.2 и MySQL 5.1
-------------------------
Текущая версия: 1.6
Отдельно сделаны большие сообщения, воможность быстро отредактировать внешний вид. Регистрация в личке бота. Команда добавления/сохранения E-mail адреса в базу. Добавлена возможность отправлять сообщения не только в main и OpChat, но и на любой ник. Исправлены некоторые ошибки.
 RegBot.MySQL.1.6_API2.lua ( 29.63 килобайт ) : 174

Исправленная версия из http://mydc.ru/index.html?showtopic=3049&view=findpost&p=29680
 RegBot.MySQL.1.6_API2.lua ( 29.68 килобайт ) : 188

Немного доработанная форма для регистрации. (автор STRELOK)
 hubreg.zip ( 49.24 килобайт ) : 280

PS: Это мой первый скрипт, который я выкладываю big_smile1.gif

Автор: Saymon 2.2.2010, 14:32

если кто может сделайтие пожалуйста вэб часть big_smile.gif

Автор: STRELOK_IS74 2.2.2010, 14:43

Вот выложу свой, но он ещё очень сильно не доделан.
[attachment=4003:hubreg.rar]
И кстати, чтобы читались данные с базы, надо чтобы скрипт проверял базу данных, т.е. надо сделать ещё кое-какие доработки в самом скрипте.

P.S.: Чуть позже доведу его до ума.

Автор: Kingston 2.2.2010, 16:25

посмотрю что можно сделать
---
Замечена проблема с занесением в базу русских ников и паролей... избавиться от этого мне помогло изменение кодировки таблицы на utf8_bin

Автор: STRELOK_IS74 2.2.2010, 16:32

Скрипт до ума довёл![attachment=4004:hubreg.rar]
Теперь дело за автором - сделать чтение зарегистрированных юзеров из MySQL. Я может-быть позже займусь, если автор не сделает. big_smile.gif

Автор: Saymon 2.2.2010, 20:07

Парни ну вы впишите на всякий случай какие библиотеки нужны... мало ли кто будет парится

Автор: sphinx 3.2.2010, 2:25

Вот мне интересно... при восстановления/изменения пароля из формы на сайте, как вы собираетесь определять, действительно ли это юзер, забывший свой пароль, или это просто хрен с горы, решивший занять чужой ник? still_dreaming.gif
Сверять IP - технически возможно, но не дает гарантии, они у очень многих динамические.

Автор: Kingston 3.2.2010, 3:11

Saymon
Для работы скрипта на хабе надо библиотеку http://mydc.ru/topic1508.html
Для веб-части надо http сервер с поддержкой php и для всего вместе надо Mysql сервер
sphinx
У меня прежде всего, хаб и сайт для локалки, IP статические. Ну а для интернет пользователей, надо будет придумать еще какую то проверку. Также думаю вполне возможно при регистрации сделать контрольный вопрос и на него ответ и использовать это при восстановлении

Автор: STRELOK_IS74 3.2.2010, 5:07

Цитата(sphinx @ 3.2.2010, 4:25) *
Вот мне интересно... при восстановления/изменения пароля из формы на сайте, как вы собираетесь определять, действительно ли это юзер, забывший свой пароль, или это просто хрен с горы, решивший занять чужой ник? still_dreaming.gif
Сверять IP - технически возможно, но не дает гарантии, они у очень многих динамические.

Сегодня в течении дня, возможно, добавлю капчу.

Автор: mariner 3.2.2010, 7:18

а может все-таки лучше E-mail привязка?

Автор: Kingston 3.2.2010, 8:06

каптча для регистрации новых юзеров с веб формы. а вот e-mail, как подсказал mariner, будет самым подходящим способом, да и скртипт есть для регистрации на хабе через e-mail

Автор: sphinx 3.2.2010, 8:07

Конечно, регистрация через E-mail дает 100% привязку. А ответ на контрольный вопрос забыть еще легче, чем пароль.

Автор: mariner 3.2.2010, 10:27

Ну и можно еще и внешнюю отправлялку запроса юзать. Например sendmail, exim4, postfix (а можно вообще внешний релэй на mail.ru)

Автор: Saymon 3.2.2010, 13:51

соглашаюсь парни big_smile.gif

Kingston
я то это понял изначально big_smile.gif
Рекомендую в посте со скриптом на всякий случай указать хотябы название библиотеки которая требуется для работы скрипта.
Дабы не повторилось такова печальнова случая как с http://mydc.ru/topic1403.html?view=findpost&p=26243....
STRELOK_IS74
"добавлю капчу" - это веть ещё библиотека luagd нужна если не ошибаюсь?! big_smile.gif

Автор: STRELOK_IS74 3.2.2010, 14:09

Цитата(Saymon @ 3.2.2010, 15:51) *
STRELOK_IS74
"добавлю капчу" - это веть ещё библиотека luagd нужна если не ошибаюсь?! big_smile.gif

Я про веб интерфейс, хотя и там gd тоже нужно(лично у меня xampp, всё работает big_smile.gif ). Сейчас кстати уже капчу нашёл, чуть позже прикручу к скрипту.

Автор: Kingston 3.2.2010, 14:10

Saymon на вебе надо GD2, она входит в состав php.

Автор: STRELOK_IS74 3.2.2010, 17:27

Собственно вот скрипт веб-регистрации на хабе с предварительным вводом защитного кода (Captcha)
 hubreg.rar ( 46.64 килобайт ) : 44

P.S: Может содержать некоторые не значительные ошибки, в будущем поправлю.
P.S.S: Попытался сделать проверку зарегистрированных пользователей из базы данных, увы, я не смог добиться результата beat_shot.gif .

Автор: Kingston 3.2.2010, 19:54

первый пост обновлен

Автор: Kingston 5.2.2010, 19:42

первый пост еще раз обновлен

Автор: Saymon 5.2.2010, 23:40

Хм... Странно, Captcha не отображается http://mydc.ru/r/?http://coolhub.sytes.net/hubreg/index.php
С серваком всё нормально! Проверен временем big_smile.gif

Хех, нашёл в чём косячёк маленький
файл config.php
Находим

Код
$font_file="./Comic_Sans_MS.ttf";

меняем на
Код
$font_file="Comic_Sans_MS.ttf";

И всё отлично начинает работать big_smile.gif
Ещё баг вижу, библиотека стоит, в базу аканунты записываются с вэба, а в птоку нет big_smile.gif
Тестировал на птоке 0.4.1.1 и 0.4.1.2 big_smile.gif

Автор: Kingston 6.2.2010, 9:38

Saymon
Это не баг =) При регистрации с веба, в базу записывается ID юзера, а на птоке в скрипте по таймеру читается этот ID и заносятся данные в птоку.
А про каптчу - у меня все работает как стоит. win2003server, apache2.2.14, php5.2.11

Версия 1.4 добавлена, первый пост оформлен

Автор: STRELOK_IS74 6.2.2010, 13:53

Цитата
:94: attempt to compare nil with string

Из таблицы пользователи на заносятся в базу птоки.

Автор: Kingston 6.2.2010, 14:49

STRELOK_IS74
После запуска скрипта выполни команду !addcfg или через меню - Регистрация\Работа с базой\Добавить данные
При обновлении необходима запись count в таблице regs_config
Saymon
 RegBot.MySQL.1.4_API2.lua ( 19.97 килобайт ) : 19

Автор: Setuper 6.2.2010, 15:20

птоха + рега в бд = костыли big_smile.gif

Автор: Saymon 6.2.2010, 15:22

Цитата(Setuper @ 6.2.2010, 16:20) *
птоха + рега в бд = костыли big_smile.gif

Почему? big_smile.gif

Автор: ApacH 27.2.2010, 10:33

скрипт запустился без ошибок, веб регистрация работает, записывает в таблицы, НО, птока не видит регу... как решить проблему?

Автор: Kingston 27.2.2010, 13:38

ApacH переменная TimeUpd задает интервал обновления реги с веба и если есть новая запись то заносит ее в птоку.

Автор: ApacH 27.2.2010, 17:08

изменил на 1 минуту, прождал 10 минут, ничего не изменилось, не просит пароль...

Автор: Kingston 28.2.2010, 4:25

ApacH зарегистрируйся через веб, введи команду !getcfg и посмотри значение "ID пользователей ожидающих регистрацию на хабе:" если 0 то регистрация работает но в таблицу из которой читает скрипт не заносятся данные.
И веб часть скачивал из 1-го поста?

Автор: ApacH 16.3.2010, 18:24

При вводе команды !getcfg в оп чат кидает следующее

Код
[22:24:07] <OpChat> E:\ p2p\WebSoft\scripts\RegBot.MySQL.1.3_API2.lua:77: attempt to compare nil with string
[22:23:39] <OpChat> E:\ p2p\WebSoft\scripts\RegBot.MySQL.1.3_API2.lua:339: attempt to concatenate a nil value


и еще ошибки скрипта, нашел через команду.

Код
    №      Дата и время            Ошибка
    ====================================================================================================
    1.   2010-03-16 22:30:04   :345: attempt to concatenate a nil value
    2.   2010-03-16 22:35:55   :296: attempt to compare nil with string

Автор: Kingston 18.3.2010, 12:09

ApacH все команды управления доступны только администратору (профилю) и сообщения отправляются только администратору (ник указанный в настройках)
такова структура скрипта, если переделывать то надо время

Автор: ApacH 18.3.2010, 17:47

т.е ник должен быть Admin? или что

Автор: Kingston 19.3.2010, 8:56

Версия 1.5 вышла, в первом посту.

Автор: ApacH 24.3.2010, 17:31

в новой версии
где-то ошибка.

Код
[21:30:16] <БОТ> Данная команда недоступна для вашего профиля!

это рег/анрег/вип
юзеры.

Автор: Kingston 26.3.2010, 10:56

Сори. Немного со строками перепутал.
Исправляется заменой:

Код
            return true
        end
    else
        Core.SendToUser(tUser, "<"..bot.."> Данная команда недоступна для вашего профиля!")
        return true
    end
end
на
Код
            return true
        else
        Core.SendToUser(tUser, "<"..bot.."> Данная команда недоступна для вашего профиля!")
    end    
    return true
    end
end

Скрипт перезалит.

Автор: STRELOK 26.3.2010, 19:13

В чате нельзя общаться, если качать скрипт из первого поста! Вот мой вариант скрипта:
 RegBot.MySQL.1.5_API2.lua ( 26.12 килобайт ) : 12

Добавил ещё функцию просмотра своего пароля

Также добавляю новую версию веб-интерфейса. Изменений немного, всего лишь добавил:

Цитата
Всего зарегистрировано n пользователей

 hubreg.rar ( 47.26 килобайт ) : 12

Вскоре попробую решить проблему с вылазиньем ошибки при успешной регистрации <_<

Автор: Kingston 27.3.2010, 2:39

Цитата(STRELOK @ 27.3.2010, 2:13) *
В чате нельзя общаться

А поподробнее, что происходит?

Автор: STRELOK 27.3.2010, 6:36

Цитата(Kingston @ 27.3.2010, 4:39) *
А поподробнее, что происходит?

При написании сообщения в чат напишет такое:
Цитата
<PtokaX> Данная команда недоступна для вашего профиля!
Происходит это потому что ты сделал чат доступным только тем, которым выставлен флаг в таблице tProfiles. big_smile.gif
Код
    if tProfiles[tUser.iProfile] == 1 then -- делаем чат доступным только тем, кому выставлен флаг в таблице
                ...
                if cmd == "!errorsregs" then
                ...
                         return true -- лишнее
        else
        Core.SendToUser(tUser, "<"..bot.."> Данная команда недоступна для вашего профиля!")
    end
return true
end
Должно быть так:
Код
        if cmd == "!errorsregs" then
                        if tProfiles[tUser.iProfile] == 1 then -- Делаем команду доступной только тем, у кого есть флаг
                ...
        else
        Core.SendToUser(tUser, "<"..bot.."> Данная команда недоступна для вашего профиля!")
    end
return true -- глушим команду
end
Так нужно делать для всех команд big_smile.gif В своём варианте скрипта именно это я и сделал, посмотри код и увидишь что я исправил big_smile.gif

Автор: Kingston 27.3.2010, 18:13

STRELOK спасибо. Функцию внес.
Скрипт обновил, немного навел порядок, чтобы понятно было.

Автор: Ольга 5.4.2010, 19:32

Ошибка.
[20:29] Синтаксис ...esktop\Новая птаха\scripts\RegBot.MySQL.1.5_API2.lua:115: attempt to compare nil with string

Таблици в базе создаются, НО.
не понятно - почему юзеры все равно создаются в файле ReservedNicks.xml ?

Автор: Kingston 6.4.2010, 14:55

Ольга
По ошибке - выполните сохранение данных через пункт админ. меню
Файл ReservedNicks.xml - создается самой птокой (он не может не быть), а в базу заносятся юзеры спомощью скриптов и библиотек.
В след. версии ошибка будет исправлена, в первом посте еще инфа.

Автор: lankmv 6.4.2010, 22:52

STRELOK ошибка в вебморде в конце регистрации вылезает из за php кода внутри <html> <?php ?> </html> нужно его вынести в самое начало страницы

STRELOK и еще есть вопрос: как в скрипте сделать ограничение на размер (колличество символов) логина и пароля. к примеру от 3х до 15 ?

Автор: STRELOK 7.4.2010, 4:21

Цитата(lankmv @ 7.4.2010, 1:52) *
STRELOK ошибка в вебморде в конце регистрации вылезает из за php кода внутри <html> <?php ?> </html> нужно его вынести в самое начало страницы

Чтобы ошибки не выскакивали добавляем в самое начало index.php(перед тегом <html>):
Код
<?php error_reporting(0); ?>
или же находим session_start(); и переносим его в самое начало, также перед тегом <html>
Код
<?php session_start(); ?>

Автор: Kingston 16.4.2010, 4:18

Новая версия в 1 посту, изменения там же.
Важным момент, при запуске новой версии в базе проверяется наличие столбца email таблицы reg_users и если его нет, то он создастся.
Небольшая ошибочка была в скрипте, строка 319 и 320.

Цитата
assert (con:execute(("INSERT INTO `%susers` (nick, pass, ip, profile, email) "..
"VALUES ('"..tUser.sNick.."', '"..sPass.."', '"..tUser.sIP.."', '"..tUser.iProfile.."', '');"):dbformat(sPrefixTable)))

Также могут возникать ошибки с никами содержащими символ '. Чтобы их не было, в скрипте небольшие изменения есть, ссылка ниже.
 RegBot.MySQL.1.6_API2.lua ( 29.68 килобайт ) : 27

Автор: intlive 21.8.2010, 17:27

Ребят, допишите пожалуйста вебморду. Чтобы была возможность восстановления пароля. secret_smile.gif

Автор: Accelerator 21.8.2010, 20:40

Проверяйте.  hubreg.zip ( 49.83 килобайт ) : 19

Автор: intlive 22.8.2010, 5:04

Если я правильно понял, то для выложенного выше нужен собственный почтовый сервер?

п.с. Идеальным вариантом былаб отправка через smtp сервер тогоже mail.ru например, secret_smile.gif реально?, если можно? embarrassed.gif

Автор: Accelerator 22.8.2010, 6:24

Цитата(intlive @ 22.8.2010, 8:04) *
п.с. Идеальным вариантом былаб отправка через smtp сервер тогоже mail.ru например, secret_smile.gif реально?, если можно? embarrassed.gif

Нужно скачать программу sendmail. Мануал по настройке http://mydc.ru/r/?http://www.simplecoding.org/php-mail-pod-windows.html. Хотя не знаю, попробовал у себя, у меня не получилось :(

Автор: intlive 22.8.2010, 12:09

Accelerator - спасибо вам огромное - все работает как часы! secret_smile.gif
Настроил SendMail за 5 минут.
Единственная просьба - внести вышеупомянутые изминения в когда-то выложенный вами(прикреплю ниже). Просто он считает пользователей и корректно отображает ссылку на хаб secret_smile.gif

 hubreg.rar ( 47.26 килобайт ) : 9
 

Автор: Accelerator 22.8.2010, 12:35

 hubreg.zip ( 50.03 килобайт ) : 34


Немного модернизировал. Добавил к форме регистрации поле E-Mail

Автор: kks 1.9.2010, 13:08

как установить скрипт и всё что необходимо к ниму

Автор: Saymon 1.9.2010, 13:26

Если ты написал тут зачем было создавать тему??? Юзай поиск и читай http://mydc.ru/topic1851.html

Автор: DEN 007 9.9.2010, 1:41

Я вот столкнулся с такой сложностью...

Нужно бы ввести синхронизацию юзеров между птохой и базой так как если удалить юзера средствами птохи, и\или удаленного управления, то мы получим то что юзер не сможет зарегистрироваться, так как в птохе его нет, а в базе есть... к примеру ввести такую синхронизацию раз в сутки...

Автор: Kingston 9.9.2010, 12:42

Можно так, а можно по другому чуть. Домаю что большинство скриптов управления удаляют юзеров спомощью команды !delreguser, так почему бы не сделать по этой команде операцию удаления юзера из базы? Можно также и синхронизацию сделать, для большей уверенности. Что нибудь сделаю и не откажусь от примеров реализации функции)

Автор: mariner 9.9.2010, 18:20

Ох, ну зачем вам сэндмыло, если с тем же успехом можно было прикрутить свифт и слать через тот же mail.ru

Автор: DEN 007 9.9.2010, 22:33

Цитата(mariner @ 9.9.2010, 19:20) *
Ох, ну зачем вам сэндмыло, если с тем же успехом можно было прикрутить свифт и слать через тот же mail.ru


Ну да это разумнее слать через смтп сервак... особенно у кого, он есть а если нет через тот же маил...

Автор: DEN 007 15.9.2010, 8:04

И так нашел ошибочку... и так скрипт брал из http://mydc.ru/index.html?showtopic=3049&view=findpost&p=29680

Во первых, при регистрации: После успешной регистрации было бы правильно отправлять мыло с логином там и паролем... (предложение)
И еще такое дело вот ты успешно зарегистрировался хочешь поменять пароль через меню на хабе... но нечего не происходит (не работает)
И вот еще было бы интересно сделать такую вещицу как просилка добавить емаил, для тех кто зарегистрирован до того как скрипт поставил, то есть у все у кого в базе нет емаила..
для восстановления пароля..

И вот еще если юзер удаляет свой аккаунт... во первых было бы разумно спросить у него пароль... И во вторых при удалении он не удаляется с базы мускуля что есть ошибка..

Так что вот так поправте пожалуйста... я копался так и не фига не понял...

Автор: VOVKT 16.9.2010, 20:52

Советую никому не ставить эту веб форму т.к
1) Автор или специально или случайно не обрабатывает некоторые входящие данные перед тем как занести в бд
2) Инклюдить один и тотже файл по сто раз не стоит
3)

Код
$result = mysql_query("SELECT * FROM regs_users order by id desc");
зачем тратить время и загружать всю базу пользователей? не у всех 10 человек в ней зарегано, при 10к регистраций на выполнение скрипта уйдут секунды, канечно не опасно с одной стороны, но с др стороны почему тогда не устроить дос атаку на эту вещч? по 2 запроса в секунду и через пару минут сервак умрет

попросили меня подправить, но чото в очередной раз взглянув на то что там незахотелось
вобщем выкладываю просто регистрацию без восстановления паса ибо спать хочется
настройки в конфиге, шаблон формы в form.tpl
mysql.php там если надо поменяйте кодировку я чот не стал замарачиватся
скрипт вроде легко инклюдится в ваши, при желании можно сделать интеграцию в dle и т.п
Demo: _ttp://tuning.akado-ural.ru/123/index.php // правдо оно нах ненужно) хотя увидеть изменения можно нажав "зарегатся" незаполняя полей
[attachment=5026:123.rar]

Автор: Kingston 17.9.2010, 6:55

Решил переделать полностью структуру скрипта, также перепишу запросы в в базу, сделаю конфиг.луа в отдельной папке и бекап в файл. Также будет совместимость с unix системами. и все что было замечено к скрипту и написано в тебе, постараюсь выполнить, только может немного затянуться процесс

Автор: VOVKT 17.9.2010, 8:01

ошибочку допустил(
перед

Код
if (empty($_POST))

надо добавить
Код
$user_ip=ip();

а то ip в базу заносится не будет

Автор: Nickolya 17.9.2010, 13:55

Удачи вам в начинаниях, ждем оптимальной версии big_smile.gif

Автор: guruz 25.9.2010, 0:45

Если не трудно, можно номер версии скрипта писать в шапке, или хотя бы дату последнего обновления файлов... А то не понятно где файлы новее: в шапке или в топиках...

Автор: Kingston 26.9.2010, 7:31

Цитата(guruz @ 25.9.2010, 8:45) *
Если не трудно, можно номер версии скрипта писать в шапке, или хотя бы дату последнего обновления файлов... А то не понятно где файлы новее: в шапке или в топиках...

Скрипт прикрепил к шапке, дал ссылку на описание, а по веб морде сказать не могу какая новее

Автор: VOVKT 26.9.2010, 7:43

моя новее

Автор: DEN 007 2.10.2010, 6:23

Цитата(Kingston @ 17.9.2010, 7:55) *
Решил переделать полностью структуру скрипта, также перепишу запросы в в базу, сделаю конфиг.луа в отдельной папке и бекап в файл. Также будет совместимость с unix системами. и все что было замечено к скрипту и написано в тебе, постараюсь выполнить, только может немного затянуться процесс


А зачем делать двойную работу? я вот перебирал у себя скрипты и вот скриптик от Алекса82 делает вполне много http://mydc.ru/topic2213.html посмотри...

Да и вот еще я тут так прикинул есть скрипт изменения ника
http://mydc.ru/topic163.html
Его было бы хорошо пришить туда, я пытался но у меня не получилось))

помогите кто разбирается..

P.S. Еще не выучил луа, а лузу в луа мускуль)))

Автор: Kingston 2.10.2010, 14:13

DEN 007 Хм. не видет такой скрипт, видимо не обращал внимание на него из-за слова beta )) спасибо))) посмотрю все на днях))

Автор: lankmv 2.11.2010, 11:28

Цитата(VOVKT @ 26.9.2010, 8:43) *
моя новее

В твоем скрипте еще стоило бы добавить после защиты от sql инъекций (mysql_real_escape_string перед вставкой в таблицу БД)

более полноценные проверки на вводимые символы / пробелы в никах) может кому то пригодится
Раскрывающийся текст
Код
// удаляем лишние пробелы
$user = trim($user);
$pass = trim($pass);
    
// проверяем на наличие ошибок (например, длина логина и пароля, символы, регистры)
$error = false;
$errort = '';

if($user  == '')
{
$error = true;
$errort .= "Вы забыли указать логин.<br />";
}
if(strlen($user) < 3 or strlen($user) > 20)
{
$error = true;
$errort .= "Логин не может быть короче 3-х символов и длиннее 20-ти.<br />";
}
if(substr_count($user," ") > 0 )
{
$error = true;
$errort .= "Пробелы в логине недопустимы!.<br />";
}    
if(substr_count($pass," ") > 0 )
{
$error = true;
$errort .= "Пробелы в пароле недопустимы!.<br />";
}
if(preg_match("![A-Za-z]!i",$user) and preg_match("![А-Яа-я]!i",$user))
{
$error = true;
$errort .= "В логине Нельзя смешивать символы русского и английского алфавита.<br />";
}        
if(preg_match("!^\d[0-9A-Za-zА-Яа-я]!i",$user))
{
$error = true;
$errort .= "Логин не может начинаться с цифры.<br />";
}    
if(preg_match("![^0-9a-zA-ZА-Яа-я-_\s]!i",$user,$matches))
{
$error = true;
$errort .= "Вы использовали в логине запрещенный символ: " .$matches[0]. ".<br />";
}    
if(!preg_match("!^[0-9a-zA-Zа-яА-Я][0-9a-zA-Zа-яА-Я_ -\s]+[0-9a-zA-Zа-яА-Я]$!",$user))
{
$error = true;
$errort .= "Логин не может начинаться или заканчиваться пробелом, тире или символом подчеркивания.<br />";
}        
if(preg_match("!(.)\\1\\1!", $user))
{
$error = true;
$errort .= "Запрещено использование трех и более одинаковых символов подряд.<br />";
}  
if(preg_match("!([-_\s])\\1!", $user))
{
$error = true;
$errort .= "Запрещено использовать два разделительных символа подряд.<br />";
}
if (!preg_match('/[0-9a-z_-]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i', $mail))
{
$error = true;
$errort .= 'Введен неверный E-mail.<br />';
}
if(strlen($pass) < 6 or strlen($pass) > 15)
{
$error = true;
$errort .= "Пароль не может быть короче 6-х символов и длиннее 15-ти.<br />";
}    
if ($_SESSION["captcha"]<>$captcha)
{
$error = true;
$errort .= 'Не правильно введен проверочный код.<br />';

И скрипт не работал (не заносил в базу config needreg информацию о новой записи)
Раскрывающийся текст
Код
// если ошибок нет, то добавляем юзаре в таблицу
if (!$error)
{
$query = "INSERT INTO `".$db_prefix."users` (`nick`, `pass`, `ip`, `profile`, `email`) VALUES ('".$user."', '".$pass."', '".$user_ip."', '".$userprofile."', '".$mail."')";
$sql = mysql_query($query) or die(mysql_error());
$get_id = mysql_query('SELECT * FROM '.$db_prefix.'users WHERE nick="'.$_POST['username'].'"');
$user_id = mysql_fetch_array($get_id);
$sql = mysql_query("UPDATE `".$db_prefix."config` SET config_value = '".$user_id['id']."' WHERE config_name = 'needreg'") or die("Insert: ". db_prefix."config<br>Error: ".mysql_error());
$tpl=str_replace("{errors}","<h4>Поздравляем, Вы успешно зарегистрированы!</h4>",$tpl);
}

Автор: qip 9.6.2011, 5:43

Спасибо за скрипт! Хотелось бы в скрипте иметь возможность востановления или напоминания пароля с отправкой на mail на случай когда юзер лишь помнит свой ник или mail. На форуме такого скрипта не нашел.

Автор: NightmareUA 28.1.2014, 19:42

Доброго времени суток, будет ли оптимизация под 0.5.0.1 lua 5.1.5 и вебформа с рабочей формой восстановления пароля и нормальной веб-регистрацией, у меня после 10 минут работы, скрипт отваливался (

Автор: Артём 29.1.2014, 13:35

NightmareUA, экстрасенсы требуют лог ошибки при отваливание скрипта.

Автор: NightmareUA 29.1.2014, 15:22

[14:21:19] Синтаксис C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: attempt to index local 'cur' (a nil value)
stack traceback:
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: in function 'GetAllRegs'
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:136: in function <C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:135>
[14:21:19] Синтаксис C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: attempt to index local 'cur' (a nil value)
stack traceback:
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:260: in function 'GetAllRegs'
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:136: in function <C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:135>

[14:54:57] Синтаксис C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:378: LuaSQL: error executing query. MySQL: MySQL server has gone away
stack traceback:
[C]: in function 'assert'
C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:378: in function <C:\Users\***\Desktop\PtokaX\scripts\reg_mysql.lua:307>

и форму бы веб-регистрации обновить, т.к капча 1.0 на официальном сайте новее появилась, но адаптировать не умею


хотелось бы иметь функцию регистрации в StatPX Lite (веб-формы, на главной странице сайта), основанную на Registrator, чтобы настройки ли из скрипта регистратора, блокирование чата итп, реально ли такое осуществить?

Автор: Kingston 22.3.2014, 14:45

Цитата(NightmareUA @ 29.1.2014, 3:42) *
Доброго времени суток, будет ли оптимизация под 0.5.0.1 lua 5.1.5 и вебформа с рабочей формой восстановления пароля и нормальной веб-регистрацией, у меня после 10 минут работы, скрипт отваливался (

На версии 0.5.0.x подключать библиотеки надо чуть по другому, вот так:
Код
luasql = require "luasql.mysql"

Остальных изменений вроде не надо.
В целом по скрипту скажу. На протяжении долгих месяцев ведется исправление незначительных багов, дописаны некоторые функции. Возможно выложу последнюю версию. Есть наработки - веб регистрация и восстановление пароля при наличии указанного email для восстановления.

Автор: NightmareUA 1.4.2014, 19:40

Цитата(Kingston @ 22.3.2014, 13:45) *
На версии 0.5.0.x подключать библиотеки надо чуть по другому, вот так:
Код
luasql = require "luasql.mysql"

Остальных изменений вроде не надо.
В целом по скрипту скажу. На протяжении долгих месяцев ведется исправление незначительных багов, дописаны некоторые функции. Возможно выложу последнюю версию. Есть наработки - веб регистрация и восстановление пароля при наличии указанного email для восстановления.

очень хотелось бы увидеть новую версию, отличная работа вами проделана, капча будет обновлена для веб-регистрации?
использую open server для запуска!

по поводу luasql = require "luasql.mysql" именно так и делал, и через время получались ошибки что ранее писал ((