Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Нужна помошь (https://forum.antichat.xyz/showthread.php?t=20505)

Tem 14.06.2006 19:33

Нужна помошь
 
Значить так , у меня есть онлайн игра, на её гланой странице есть такой код
PHP код:

if(session_is_registered('login'))
{
    print 
"Ваш персонаж активирован! Пожалуйста авторизируйтесь ещё раз!<BR>Если вы видите это окно не первый раз, значит вы пытаетесь войти в игру несколькими персонажами сразу!";
    
//print "<script>location.href='index.php';</script>";
    
session_unset();
}
else
{
    
session_register('login','pass');
    print 
"<LINK REL=StyleSheet HREF='style.css' TYPE='text/css'>"

Регистрацию прохожу нормально, пишет что я зарегён и могу вступить в бой, но при попытки зайти выскакивает ошибка, которой я дал код сверху , можит поможите мне как с этим разобратся ?

P.S Знаю что session_is_registered возвращает TRUE, если имеется переменная с именем name, зарегистрированная в текущей сессии.

DIAgen 14.06.2006 21:37

Как я понел, создается сессия session_register("login") если пользователь здет активации или не зарегестрирован, глянь выше когда она создается - даные берутся же откуда-то,тогда если session_register("login") отсувует все ОК, или попробуй переписать скрипт с $_SESSION!

Tem 14.06.2006 21:55

что ешё скажите ?

DIAgen 14.06.2006 22:22

Цитата:

Сообщение от Tem
что ешё скажите ?

Ты бы выложил бы сам фаил, а то по одному отрывку сказать ПОЧЕМУ и откуда берется что!

Tem 14.06.2006 23:25

Бери как хотел :

PHP код:

<?
session_unset
();
?>
<?
session_start
();
?>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta http-equiv="Content-Language" content="ru">
<?
if(session_is_registered('login'))
{
    print 
"Ваш персонаж активирован! Пожалуйста авторизируйтесь ещё раз!<BR>Если вы видите это окно не первый раз, значит вы пытаетесь войти в игру несколькими персонажами сразу!";
    
//print "<script>location.href='index.php';</script>";
    
session_unset();
}
else
{
    
session_register('login','pass');
    print 
"<LINK REL=StyleSheet HREF='style.css' TYPE='text/css'>";
include 
"conf.php";
$data mysql_connect($base_name$base_user$base_pass);
mysql_select_db($db_name,$data);
    
$sql "SELECT login,blok,blok_reason,password FROM users WHERE login='$login'";
    
$result mysql_query($sql);
    
$db mysql_fetch_array($result);

    if(empty(
$login))
    {
    print 
"Вы не ввели логин!<BR>";
    print 
"<a href='index.php' class=us>Назад</a><BR><BR>";
    print 
"<hr color=#000000 noshade size=1 width=90% align=right>";
    print 
"<div align=right>Be Warrior<BR>";
    print 
"&copy 2006-2010</a></div>";
    }
    else if(empty(
$pass))
    {
    print 
"Вы не ввели пароль!<BR>";
    print 
"<a href='index.php' class=us>Назад</a><BR><BR>";
    print 
"<hr color=#000000 noshade size=1 width=90% align=right>";
    print 
"<div align=right>Be Warrior<BR>";
    print 
"&copy 2006-2010</a></div>";
    }
    else if(
$db["login"]=="")
    {
    print 
"Персонаж \"<B>$login</B>\" не неайден в базе данных!<BR>";
    print 
"<a href='index.php' class=us>Назад</a><BR><BR>";
    print 
"<hr color=#000000 noshade size=1 width=90% align=right>";
    print 
"<div align=right>Be Warrior<BR>";
    print 
"&copy 2006-2010</a></div>";
    }
    else
    {
        
$pass_db $db["password"];
        
$p base64_decode($pass_db);
        if(
$p!=$pass)
        {
        print 
"Неверный пароль для персонажа \"<B>$login</b>\"!<BR>";
        print 
"<a href='index.php' class=us>Назад</a><BR><BR>";
        print 
"<hr color=#000000 noshade size=1 width=90% align=right>";
    print 
"<div align=right>Be Warrior<BR>";
    print 
"&copy 2006-2010</a></div>";
        }
        else if(
$db["blok"]==1)
        {
        print 
"Персонаж \"<B>$login</b>\" казнен!<BR>";
        print 
"Причина казни:<BR>";
        echo 
$db["blok_reason"];
        print 
"<BR><a href='index.php' class=us>Назад</a><BR><BR>";
        print 
"<hr color=#000000 noshade size=1 width=90% align=right>";
    print 
"<div align=right>Be Warrior<BR>";
    print 
"&copy 2006-2010</a></div>";
        }
        else{
        print 
"Добро пожаловать...";
        
$zayavka_c_m 1;
        
$zayavka_c_o 1;
        
$battle_ref  0;
        
session_register('zayavka_c_m','zayavka_c_o','battle_ref');
        print 
"<script>location.href='warriors.php';</script>";
        }
    }
}
?>


DIAgen 14.06.2006 23:41

Найде где регистрируется session_register('login');
и все станет на свои места! Здесь только проверяется зарегестрирована ли сессия со значение 'login', если нет, тогда уже вход в игру!

ferryman 15.06.2006 11:32

DIAgen прав, лучше перепиши на $_SESSION и гемороя иметь не будешь...

Tem 15.06.2006 16:58

примерно в каких файлах может это быть ?

DIAgen 15.06.2006 18:02

Ну это надо смотреть куда посылаются даные которые ты водишь с главной страницы, а проще найти через тотал строчку session_register('login')

DimaHbl4 15.06.2006 18:44

Кстати для этого дела пользуйся Delphi, я когда патчи для игр мутил им пользовался. Указываешь папку в котрой искать, и че искать.....Он тебе файлы выдает которые искать.


Время: 10:57