MSSQL Запрос PTS Server! - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 16.03.2013, 19:11   #1
Аватар для Krasavella
ваще Красауэлла

Автор темы (Топик Стартер) MSSQL Запрос PTS Server!

Приветствую всех жителей этого форума! Прошу помочь с решением проблемы.

Знающие люди подскажите как подкорректировать SQL запрос регистрации аккаунта с JAVA на PTS

Вот рабочий SQL запрос регистрации аккаунта для JAVA сервера (MySql)

PHP код:
<?php
// no direct access
defined('_JEXEC') or die('Restricted access');

jimport('joomla.application.component.model');
JTable::addIncludePathJPATH_COMPONENT DS 'tables' );

class 
JusersModelJregister extends JModel {
    private 
$_UserID$_jAccounts;        
    
// Constructor
    
function __construct() {
        
parent::__construct();
    }
// Get User ID
    
public function _UserID() {
    
$user =& JFactory::getUser();
// if User not Guest
    
if (!$user->guest) { 
            
$this->_UserID $user->id;
        return 
$this->_UserID;
//  if User Guest
        
} else {
        return 
false;
        }
    }
// Get accounts
    
public function getjAccounts() {
        if (empty(
$this->_jAccounts))
        {
            
$db = &$this->getDBO();
             
$UserID $this->_UserID();
            
$query 'SELECT * FROM '.$db->nameQuote('#__jaccounts').' WHERE `user_id`= '.$UserID;
            
$db->setQuery($query);
            
$this->_jAccounts $db->loadObjectList();

        return 
$this->_jAccounts;
        }        
    }    
// Get count user acc    
    
public function getjUserCountAcc() {
        if (empty(
$this->_jUserCountAcc))
        {
            
$db = &$this->getDBO();
             
$UserID $this->_UserID();
            
$query 'SELECT COUNT(*) FROM '.$db->nameQuote('#__jaccounts').' WHERE `user_id`= '.$UserID;
            
$db->setQuery($query);
            
$this->_jUserCountAcc $db->loadResult();

        return 
$this->_jUserCountAcc;
        }        
    }
// EOF    

//
    
public function save($post) {
    global 
$mainframe;        
    
$table    = &$this->getTable();
//// Input Data //// 
    
$jLogin        =    $post ['login'];
    
$jPassword    =    $post ['password'];
    
$jPassword1    =    $post['password1'];
    
$jEmail        =    $post ['email'];
    
$jComments    =    $post['comments'];
    
$jPattern    =    '[^a-z,^A-Z,^0-9]';
    
$jDB        =    &JFactory::getJDbo();
    
$DB        =    &JFactory::getDBO();
//// Check Empty Input Data //// 
    //// Check Empty Login //// 
    
if (empty($jLogin)) {
        
JError::raiseNotice'''JREGISTRATION_EMPTY_LOGIN' ); 
        return 
false;        
    }
    
//// Check Empty Password //// 
    
if (empty($jPassword)) {
        
JError::raiseNotice'''JREGISTRATION_EMPTY_PASS' ); 
        return 
false;
    }
    
//// Check Empty Password //// 
    
if (empty($jPassword1)) {
        
JError::raiseNotice'''JREGISTRATION_EMPTY_PASS1' ); 
        return 
false;
    }    
    
/// Check reEnter Password ///
    
if ($jPassword <> $jPassword1) {
        
JError::raiseNotice'''JREGISTRATION_NOT_PASS2' ); 
        return 
false;
    }
//// Check Special Symbols in Input Data //// 
/*    if (preg_match($jPattern, $jLogin)) {
        JError::raiseNotice( '', 'J INCORRECT SYMBOLS LOGIN' ); 
        return false;
    }
    if (preg_match($jPattern, $jPassword)) {
        JError::raiseNotice( '', 'J INCORRECT SYMBOLS PASS' ); 
        return false;
    }*/
//// Check Login in DB //// 
    
if ($jLogin) {
        
//// Server DB //// 
        
$querys 'SELECT count(`login`) FROM #__accounts WHERE login = '.$jDB->Quote($jLogin);                
        
$jDB->setQuery($querys);
        if (
$jDB->loadResult()) {
            
JError::raiseNotice'''JREGISTRATION_ALREADY_REGISTRED_ON_SERVER' );
            return 
false/// STOP if Login in use ///
        
} else {
        
//// Joomla DB ////
            
$query 'SELECT count(`login`) FROM #__jaccounts WHERE `login`= '.$db->Quote($jLogin);
            
$db->setQuery($query);
            if (
$db->loadResult()) {
                
JError::raiseNotice'''JREGISTRATION_ALREADY_REGISTRED' );
                return 
false/// STOP if Login in use ///
            
}
            
/// IF LOGIN NOT IN USE in Joomla DB and Server DB ///
            /// WRITE DATA in Server DB ///
                
$jPassCode    base64_encode(pack('H*'sha1($jPassword)));
                
$query 'INSERT INTO accounts (login, password, access_level) 
                    VALUES ('
.$jDB->Quote($post ['login']).', '.$jDB->Quote($jPassCode).', 0)';
                
$jDB->setQuery($query);
                if (!
$jDB->query()) { /// STOP if error ///
                    
JError::raiseError500$jDB->stderr() );
                    return 
false;
                }
        }
    }
// привязываем поля формы к таблице
        
if (!$table->bind($post)) {
            
$this->setError($table->getError());
            return 
false;
        }
// проверяем данные
        
if ($table->check($post)) {
            if (!
$table->store($post)) {
                
$this->setError($table->getError());
                return 
false;
            }
        } else { 
            
$this->setError($table->getError());
            return 
false;
        }
        return 
true;
    } 
}
?>
Где:

$jDB - база MSSQL сервера
$DB- база MySql сайта

Нужно поправить запрос для регистрации аккаунта в базы данных lin2db MSSQL таблице user_auth

__________________
Krasavella вне форума Ответить с цитированием
Непрочитано 16.03.2013, 19:57   #2
Аватар для Apoloser
Герой

По умолчанию Re: MSSQL Запрос PTS Server!

Запросы
Код:
INSERT INTO dbo.user_auth(account,password,quiz1,quiz2,answer1,answer2) VALUES ('$login', $cr_password, '$question', '', $cr_answer, $cr_answer)
INSERT INTO dbo.ssn(ssn,name,email,job,phone,zip,addr_main,addr_etc,account_num) VALUES ('$ssn','$login','$mail',0,'telphone','123456','','',1)
INSERT INTO dbo.user_account(account, pay_stat) VALUES ('$login', 1)
INSERT INTO dbo.user_info(account,ssn,kind) VALUES ('$login','$ssn', 99);
Редактировать тут
PHP код:
/// IF LOGIN NOT IN USE in Joomla DB and Server DB ///
            /// WRITE DATA in Server DB ///
                
$jPassCode    base64_encode(pack('H*'sha1($jPassword)));
                
$query 'INSERT INTO accounts (login, password, access_level) 
                    VALUES ('
.$jDB->Quote($post ['login']).', '.$jDB->Quote($jPassCode).', 0)'
Apoloser вне форума Отправить сообщение для Apoloser с помощью ICQ Отправить сообщение для Apoloser с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 16.03.2013, 20:11   #3
Аватар для Krasavella
ваще Красауэлла

Автор темы (Топик Стартер) Re: MSSQL Запрос PTS Server!

Цитата:
Сообщение от Apoloser Посмотреть сообщение
Запросы
Код:
INSERT INTO dbo.user_auth(account,password,quiz1,quiz2,answer1,answer2) VALUES ('$login', $cr_password, '$question', '', $cr_answer, $cr_answer)
А можно увидеть вот это значение - $cr_password?
Как я поняла это шифрация пароля
__________________
Krasavella вне форума Ответить с цитированием
Непрочитано 16.03.2013, 20:16   #4
Аватар для Apoloser
Герой

По умолчанию Re: MSSQL Запрос PTS Server!

Цитата:
Сообщение от Krasavella Посмотреть сообщение
А можно увидеть вот это значение - $cr_password?
Как я поняла это шифрация пароля
PHP код:
public function encrypt$str )
            {
                
$key = array();
                
$dst = array();
                
                
$i 0;

                
// $nBytes = strlen($str);     // it was default setting order by count strlen($str)
                
$nBytes 16;
                while (
$i $nBytes)
                {
                    
$i++;
                    
$key[$i] = ord(substr($str$i 11));
                    
$dst[$i] = $key[$i];
                    
                }

                
$rslt $key[1] + $key[2]*256 $key[3]*65536 $key[4]*16777216;
                
$one $rslt 213119 2529077;
                
$one $one intval($one4294967296) * 4294967296;

                
$rslt $key[5] + $key[6]*256 $key[7]*65536 $key[8]*16777216;
                
$two $rslt 213247 2529089;
                
$two $two intval($two4294967296) * 4294967296;

                
$rslt $key[9] + $key[10]*256 $key[11]*65536 $key[12]*16777216;
                
$three $rslt 213203 2529589;
                
$three $three intval($three4294967296) * 4294967296;

                
$rslt $key[13] + $key[14]*256 $key[15]*65536 $key[16]*16777216;
                
$four $rslt 213821 2529997;
                
$four $four intval($four4294967296) * 4294967296;
                
                
$key[4] = intval($one/16777216);
                
$key[3] = intval(($one $key[4] * 16777216) / 65535);
                
$key[2] = intval(($one $key[4] * 16777216 $key[3] * 65536) / 256);
                
$key[1] = intval(($one $key[4] * 16777216 $key[3] * 65536 $key[2] * 256));

                
$key[8] = intval($two/16777216);
                
$key[7] = intval(($two $key[8] * 16777216) / 65535);
                
$key[6] = intval(($two $key[8] * 16777216 $key[7] * 65536) / 256);
                
$key[5] = intval(($two $key[8] * 16777216 $key[7] * 65536 $key[6] * 256));

                
$key[12] = intval($three/16777216);
                
$key[11] = intval(($three $key[12] * 16777216) / 65535);
                
$key[10] = intval(($three $key[12] * 16777216 $key[11] * 65536) / 256);
                
$key[9] = intval(($three $key[12] * 16777216 $key[11] * 65536 $key[10] * 256));

                
$key[16] = intval($four/16777216);
                
$key[15] = intval(($four $key[16] * 16777216) / 65535);
                
$key[14] = intval(($four $key[16] * 16777216 $key[15] * 65536) / 256);
                
$key[13] = intval(($four $key[16] * 16777216 $key[15] * 65536 $key[14] * 256));

                
$dst[1] = $dst[1] ^ $key[1];

                
$i=1;
                while (
$i<16)
                {
                    
$i++;
                    
$dst[$i] = $dst[$i] ^ $dst[$i-1] ^ $key[$i];            // here error
                
}
                    
$i=0;
                while (
$i<16)
                {
                    
$i++;
                    if (
$dst[$i] == 0
                    {
                        
$dst[$i] = 102;
                    }
                }
                
$encrypt "0x";
                
$i=0;
                while (
$i<16)
                {
                    
$i++;
                    if (
$dst[$i] < 16
                    {
                        
$encrypt $encrypt "0" dechex($dst[$i]);
                    } 
                    else 
                    {
                        
$encrypt $encrypt dechex($dst[$i]);
                    }
                }
                
                return 
$encrypt;
            }
$cr_password $function->encrypt($password); 
Apoloser вне форума Отправить сообщение для Apoloser с помощью ICQ Отправить сообщение для Apoloser с помощью Skype™ Ответить с цитированием
Сказали спасибо:
Непрочитано 16.03.2013, 20:24   #5
Аватар для linliss
Герой

По умолчанию Re: MSSQL Запрос PTS Server!

delete///////
linliss вне форума Ответить с цитированием
Непрочитано 16.03.2013, 20:38   #6
Аватар для Krasavella
ваще Красауэлла

Автор темы (Топик Стартер) Re: MSSQL Запрос PTS Server!

Цитата:
Сообщение от Apoloser Посмотреть сообщение
PHP код:
public function encrypt$str 
Что то не регистрирует

Редирект на стартовую страницу, и ошибок не показывает, что нужно прописать чтобы показало ошибку без редиректа?
__________________
Krasavella вне форума Ответить с цитированием
Непрочитано 16.03.2013, 20:42   #7
Аватар для Apoloser
Герой

По умолчанию Re: MSSQL Запрос PTS Server!

Цитата:
Сообщение от Krasavella Посмотреть сообщение
Что то не регистрирует

Редирект на стартовую страницу, и ошибок не показывает, что нужно прописать чтобы показало ошибку без редиректа?
Ну я не ванга
попробовать error_reporting(E_ALL); как вариант
Apoloser вне форума Отправить сообщение для Apoloser с помощью ICQ Отправить сообщение для Apoloser с помощью Skype™ Ответить с цитированием
Непрочитано 16.03.2013, 21:01   #8
Аватар для Krasavella
ваще Красауэлла

Автор темы (Топик Стартер) Re: MSSQL Запрос PTS Server!

Цитата:
Сообщение от Apoloser Посмотреть сообщение
Ну я не ванга
попробовать error_reporting(E_ALL); как вариант
Ничего не получается.

Готова заплатить 15$, кто привидёт регистрацию в рабочий вид
__________________
Krasavella вне форума Ответить с цитированием
Непрочитано 16.03.2013, 21:05   #9
Аватар для Apoloser
Герой

По умолчанию Re: MSSQL Запрос PTS Server!

Как я понял писать под джумлу. Джумла бяка
Apoloser вне форума Отправить сообщение для Apoloser с помощью ICQ Отправить сообщение для Apoloser с помощью Skype™ Ответить с цитированием
Непрочитано 16.03.2013, 21:09   #10
Аватар для Krasavella
ваще Красауэлла

Автор темы (Топик Стартер) Re: MSSQL Запрос PTS Server!

Цитата:
Сообщение от Apoloser Посмотреть сообщение
Как я понял писать под джумлу. Джумла бяка
Регистрация написана, работает под JAVA сервер, аккаунты регистрирует без проблем

Для PTS не могу переделать

Плачу 15$, кто привидёт регистрацию в рабочий вид для PTS сервера
__________________
Krasavella вне форума Ответить с цитированием
Ответ

Метки
bestcms, mssql, mssqlla2, mssqlregister


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
L2jServer Gracia (CT2) 5970 не могу настроить клиент kalexi Lineage II 12 25.02.2014 13:27
Автообновление иконок rost WarCraft III 0 26.10.2012 20:20
AION X EMU + Ubuntu 10.04.1 Практикум ruso Серверная часть 56 01.03.2011 16:03
Прошу помоч в запуске kiker Lineage II 2 21.01.2010 16:43
Install Microsoft SQL Server 2000 Tonchi Копия официального сервера 0 24.11.2007 00:40


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 19:40. Часовой пояс GMT +3.

Вверх