[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна помощь в оптимизации скрипта...
gdemoyslon
Вот собственно,что есть:




<b>Проголосуй - получиш имбо баф =) WoW IrkGame x1 Server</b><br>
<?php
//Настройка базы.
$config['db_host']= "IP";
$config['db_name']= "characters" ;
$config['db_realmd']= "realm" ;
$config['db_user']= "base" ;
$config['db_password'] = "pass" ;
//Настройка вывода.
$config['debug'] = "false" ;
$config['html'] = "" ;
$config['dhtml'] = "" ;
//Настройка файла
$config['file']="http://wow.irkgame.ru/vote.php";
//Подключаемся к базе.
$link = mysql_connect($config['db_host'],$config['db_user'],$config['db_password']);
if (!$link) $config['dhtml'].= "::Неисправность в базе".mysql_error()."<br>\n";
//Выбираем Базу данных.
if (!mysql_select_db($config['db_name']) or !mysql_select_db($config['db_realmd'])) $config['dhtml'].= "Неисправность, невозможно выбрать базу".mysql_error()."<br>\n";
//Функция показа формы для ввода имя персоонажа.
function show_form(){
global $config;

$config['html'].= "<form action = '".$config['file']."' method='POST' target='_blank'>\n";
$config['html'].= "<table><tr><td>Аккаунт:</td><td><input type='text' name='p_acc' value=''></td></tr>\n";
$config['html'].= "<tr><td>Пароль:</td><td><input type='password' name='p_pass' value=''></td></tr>\n";
$config['html'].= "<tr><td>Имя персонажа:</td><td><input type='text' name='p_char_name' value=''></td></tr></table>\n";
$config['html'].= "<input type='hidden' name='action' value='save'><br>\n";
$config['html'].= "<input type='submit' value='Бафнуцо'>\n";
$config['html'].= "</form>\n";

}

//Функция удаления ячейки
function save_char($acc,$pass,$char_name){
global $config;
global $link;

//Проверка аккаунта
mysql_select_db($config['db_realmd']);
$query = "SELECT * FROM `account` WHERE `username`='".$acc."';" ;
$result = mysql_query($query,$link);
if (!$result) $config['dhtml'].= "::Неисправность в строке запроса ".mysql_error(). "<br>\n";
else{
$res=mysql_fetch_array($result);
$pass1=$res['sha_pass_hash'];
$acc_guid=$res['id'];
$hash = SHA1(strtoupper($acc.":".$pass));
if ($hash==$pass1) ;
else{
$config['html'].= "Неверный пароль<br>\n";
return;
}
}
mysql_select_db($config['db_name']);
$query = "SELECT * FROM `characters` WHERE `name`='".$char_name."';" ;
$result = mysql_query($query,$link);
if (!$result) $config['dhtml'].= "::Неисправность в строке запроса ".mysql_error(). "<br>\n";
else{
$res=mysql_fetch_array($result);
$pac1=$res['account'];
if ($acc_guid==$pac1) ;
else{
$config['html'].= "Неверный аккаунт<br>\n";
return;
}
}

//Делаем выборку персонажа
mysql_select_db($config['db_name']);
$query = "SELECT `guid` FROM `characters` WHERE `name`='".$char_name."';" ;
$result = mysql_query($query,$link);
if (!$result) $config['dhtml'].= "::Неисправность в строке запроса ".mysql_error(). "<br>\n";
else{
$res=mysql_fetch_array($result);
$tmp_guid=$res['guid'];
}

$query = "SELECT `online` FROM `characters` WHERE `guid`='".$tmp_guid."';";



Но начальство попросило,чтобы логин и пароль не требовались,а требовалось только имя персонажа,но в тоже время оставить наличие проверки персонажа в игре...

ЗЫ Дело обстоит так,что местный интернет провайдер держит у себя сервер всем известной игры,специально для клиентов..а мы подобие сервисного отдела...Тк работа игровых серверов легла на нас,это тоже на нас положили...Вот...Помогите пожалуйста



Спустя 57 минут, 20 секунд (12.04.2008 - 21:07) ne4to написал(а):
должно быть гдето так...

Код
function save_char($acc,$pass,$char_name)
{
    global $config;
    global $link;

    mysql_select_db($config['db_name']);
    $query = "SELECT * FROM characters c, ".$config['db_realmd'].".account a WHERE c.name='".$char_name."' AND a.id = c.account;";

    $result = mysql_query($query,$link);

    if (!$result) $config['dhtml'].= "::Неисправность в строке запроса ".mysql_error(). "<br>\n";
    else
    {
        $res=mysql_fetch_array($result);
        if (!isset($res) || !is_array($res))
        {
            $config['html'].= "Неверный аккаунт<br>\n";
            return;
        }
    }

    mysql_select_db($config['db_name']);
    $query = "SELECT `guid` FROM `characters` WHERE `name`='".$char_name."';";

    $result = mysql_query($query,$link);

    if (!$result) $config['dhtml'].= "::Неисправность в строке запроса ".mysql_error(). "<br>\n";
    else
    {
        $res=mysql_fetch_array($result);
        $tmp_guid=$res['guid'];
    }

    $query = "SELECT `online` FROM `characters` WHERE `guid`='".$tmp_guid."';";
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.