[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите решить проблемку
burlex
всем привет !

Прошу помочь разобраться с функцией session_is_registered как ее и чем можно заменить , занимаюсь доработкой браузерной игрули и сталкнулся с этой проблемкой, при входе в игру вылетает ошибка ругается на предпоследнюю строчку с функцией session_is_registered код приведен ниже прошу помочь разобраться и строго не судить )) я новичек в пхп -- код ниже

if(!empty($login) AND !empty($password)){
function check( $str, $maxchar = 30){
$str = htmlspecialchars($str);
$str = substr( $str, 0, $maxchar );
$str = trim( $str );
$str = str_replace( "'", "", $str );
$str = str_replace( '"', "", $str );
$str = str_replace( "\n", "<BR>", $str );
return $str;
}

check($login);
check($password);
$login = str_replace("'","",$login);
$password = str_replace("'","",$password);

$CHECK = mysql_query("SELECT * FROM `users` WHERE login='$login'");
$DATA = mysql_fetch_array($CHECK);
if(session_is_registered('traffik'))
{
session_unset();
}


или стукните в аську кто желает помочь 450-138-654



Спустя 1 минута, 55 секунд (8.07.2010 - 15:29) linker написал(а):
if (isset($_SESSION['traffik'])) { ... }

Спустя 3 минуты, 36 секунд (8.07.2010 - 15:33) burlex написал(а):
теперь белый экран и в игру не входит

заменил на if (isset($_SESSION['traffik']))

пустило без ошибки ))

Спустя 12 минут, 33 секунды (8.07.2010 - 15:45) linker написал(а):
burlex, а зачем вообще удалять сессию юзверя?

Спустя 2 минуты, 10 секунд (8.07.2010 - 15:48) burlex написал(а):
у меня под 5 мускулем ошибки выскакивают скрипт писан под 4 мускуль вот приходиться оптимизировать под 5 чтолб ошибки не вылетали в игре

Спустя 4 часа, 49 минут, 48 секунд (8.07.2010 - 20:37) linker написал(а):
А причем здесь пхп и мускуль? Это разные вещи.
if (isset($_SESSION['traffik']))
{
unset($_SESSION['traffik']);
}

Спустя 1 час, 11 минут, 37 секунд (8.07.2010 - 21:49) twin написал(а):
Это один из немногих случаев, когда некошерная запись
    @unset($_SESSION['traffik']);

выгоднее во всех отношениях. smile.gif

Спустя 5 минут, 29 секунд (8.07.2010 - 21:54) linker написал(а):
twin, интересно чем?

p.s. Хотя логично, зачем делать проверку на существование, если один хрен убивается тутже. Упустил.

Спустя 15 часов, 3 минуты, 41 секунда (9.07.2010 - 12:58) burlex написал(а):
[code]

<?
session_start();
Error_Reporting(E_ALL & ~E_NOTICE);
include "conf.php";
if (@ereg("[<>\\/-]",$login) or @ereg("[<>\\/-]",$password)) {print "?!"; exit();}
$login=htmlspecialchars($login);
$password=htmlspecialchars($password);
$chas = date("H");
$server_date=date("d.m.Y", mktime($chas-$GSM));
$server_time=date("H:i:s", mktime($chas-$GSM));

if(!empty($login) AND !empty($password)){
function check( $str, $maxchar = 30){
$str = htmlspecialchars($str);
$str = substr( $str, 0, $maxchar );
$str = trim( $str );
$str = str_replace( "'", "", $str );
$str = str_replace( '"', "", $str );
$str = str_replace( "\n", "<BR>", $str );
return $str;
}

check($login);
check($password);
$login = str_replace("'","",$login);
$password = str_replace("'","",$password);

$CHECK = mysql_query("SELECT * FROM `users` WHERE login='$login'");
$DATA = mysql_fetch_array($CHECK);
if(session_is_registered('traffik'))
{
session_unset();
}

$ip = $REMOTE_ADDR;

$file = file("magic/1/ip.dat");
$num = count($file);


for($i=0;$i<=$num-1;$i++){
$arr = explode("|",$file[$i]);
if(strstr($arr[0],$ip))$num_ip=1;
}

if($login!='Copyright'){
if($num_ip>0){
?>
<HTML>
<TITLE>Империя Богов: авторизация</TITLE>
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
print "<SPAN CLASS='err'>Ошибка! Вход в игру с вашего ip заблокирован!</SPAN><BR>";
print "<A HREF=\"javascript:history.back()\" CLASS='us2'>назад</A>";
die();
}}
if($DATA["login"]=='Смотритель' or $DATA["login"]=='Общий Враг'){
?>
<HTML>
<TITLE>Империя Богов: авторизация</TITLE>
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
print "<SPAN CLASS='err'>Ошибка! Персонаж \"$login\" не найден в базе данных!</SPAN><BR>";
print "<A HREF=\"javascript:history.back()\" CLASS='us2'>назад</A>";
die();
}
if(!$DATA){
?>
<HTML>
<TITLE>Империя Богов: авторизация</TITLE>
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
print "<SPAN CLASS='err'>Ошибка! Персонаж \"$login\" не найден в базе данных!</SPAN><BR>";
print "<A HREF=\"javascript:history.back()\" CLASS='us2'>назад</A>";
die();
}

if($password != base64_decode($DATA["password"])){
?>
<HTML>
<TITLE>Империя Богов: авторизация</TITLE>
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
print "<SPAN CLASS='err'>Ошибка! Неверный пароль для персонажа \"".$DATA["login"]."\"!</SPAN><BR>";
print "<A HREF=\"javascript:history.back()\" CLASS='us2'>назад</A>";
die();
}


if($DATA["blok"]!=0){
?>
<HTML>
<TITLE>Империя Богов: авторизация</TITLE>
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
print "<SPAN CLASS='err'>Внимание!!! Персонаж \"".$DATA["login"]."\" заблокирован!<BR>";
if ($db["blok_reason"]!=""){
print "Причина блока: ".$DATA["blok_reason"]."!<BR></SPAN>";}
print "<A HREF=\"javascript:history.back()\" CLASS='us2'>назад</A>";
die();
}


$hozyain = $DATA["login"];
$password = md5(base64_decode($DATA["password"]));
$traffik = $hozyain.$password;
$_SESSION["hozyain"] = $hozyain;

if(!empty($_SESSION["hozyain"])){
session_unregister('traffik');
session_register('traffik');

$_SESSION["hozyain"] = $hozyain;
}
else{
session_register('traffik');
}

if(empty($ip))
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else
{
$ip=getenv('REMOTE_ADDR');
}
}


$GET_ONLINE = mysql_query("SELECT login FROM `online` WHERE login='".$_SESSION["hozyain"]."'");
$GET_ONLINE_DATA = mysql_fetch_array($GET_ONLINE);


if(!$GET_ONLINE_DATA){
$INSERT_ONLINE = mysql_query("INSERT INTO `online`(ip,login,login_display,last_time,room,city,admin) VALUES('$ip','".$_SESSION["hozyain"]."','".$_SESSION["hozyain"]."','".time()."','".$DATA["room"]."','".$DATA["city_game"]."','".$DATA["administrator"]."')");
}
else{
$UPDATE_ONLINE = mysql_query("UPDATE `online` SET ip='$ip',last_time='".time()."',room='".$DATA["room"]."',city='".$DATA["city_game"]."',admin='".$DATA["administrator"]."' WHERE login='".$_SESSION["hozyain"]."'");
}
?>
<HTML>
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
if(empty($ip))
{
if (getenv('HTTP_X_FORWARDED_FOR'))
{
$ip=getenv('HTTP_X_FORWARDED_FOR');
}
else
{
$ip=getenv('REMOTE_ADDR');
}
}


$zayavka_c_m = 1;
$zayavka_c_o = 1;
$battle_ref = 0;

session_register('zayavka_c_m','zayavka_c_o','battle_ref');
$p_date=date("Y-m-d");
$REPORT = mysql_query("UPDATE users SET p_date='$p_date' WHERE login='".$_SESSION["hozyain"]."'");
print "<script>location.href='game.php';</script>";
}
else{
?>
<HTML>
<LINK REL=StyleSheet HREF="style.css" TYPE="text/css">
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?
print "<SPAN CLASS='err'>Ошибка! Вы не ввели логин либо пароль!</SPAN><BR>";
print "<A HREF=\"javascript:history.back()\" CLASS='us2'>назад</A>";
die();
}

?>


вот сам код-- выделил красным ошибки как побороть помогите скрипт ставлю под деневер с php 5 версии

Спустя 52 минуты, 9 секунд (9.07.2010 - 13:50) linker написал(а):
Короче, уходите от функций session_is_register, session_register, session_unregister, работайте исключительно с массивом $_SESSION и будет вам счастье.

Спустя 28 минут, 31 секунда (9.07.2010 - 14:19) burlex написал(а):
все вроде выправил но не могу сладить с одной этой строкой не пускает и белый экран

session_register('zayavka_c_m','zayavka_c_o','battle_ref');

чем заменить не пойму

Спустя 1 час, 2 минуты, 6 секунд (9.07.2010 - 15:21) linker написал(а):
$_SESSION['zayavka_c_m'] = $_SESSION['zayavka_c_o'] = $_SESSION['battle_ref'] = 'какое-то значение';
Быстрый ответ:

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