ОБСУЖДЕНИЕ

Застрял на запросе.

15 сообщений1 просмотровОткрыта
#1
Вчера сделал выбор персонажей через пост проверки админки.Всё правильно работает но когда Админы постов потверждают персонажей вышает самому админу кто потвердил а не дает пользователю
вот такие запросы использую:
mysql_query_m("UPDATE `user` SET `idit` = '".$item['id']."' WHERE `id` ='$user[id]';");


mysql_query_m("UPDATE `user` SET `missii` = '".($user['missii']=1)."' WHERE `id` =".($user['id']).";");
mysql_query_m("UPDATE `user` SET `pers`='".$item['name']."' WHERE `id`='".$user['id']."'");
mysql_query_m("UPDATE `persy` SET `times` = '".($item['times']=0)."' WHERE `id` = '$item[id]';");
mysql_query_m("UPDATE `user` SET `post_naruto` = '".($user['post_naruto']=1)."' WHERE `id` ='$user[id]';");
mysql_query_m("UPDATE `user` SET `rang` = '".($user['rang']=1)."' WHERE `id` ='$user[id]';");
mysql_query_m("UPDATE `user` SET `poster_nar` = '".($user['poster_nar']=0)."' WHERE `id` ='$user[id]';");
msg('Персонаж выбран');
mysql_query_m("UPDATE `persy` SET `idit` = '".($item['idit']=$user['id'])."' WHERE `id` = '$item[id]';");
mysql_query_m("UPDATE `persy` SET `nick` = '".($item['nick']=$user['nick'])."' WHERE `id` = '$item[id]';");


Как сделать когда админы потверждали пост не давал система админам перс а давал тому пользователю кто писал пост
#2
А не вариант все в 1 запрос было влепить?
#3
Ужас О_о ну вы там накодили)) я так понимаю в этот запрос дает персонажа
mysql_query_m("UPDATE `user` SET `pers`='".$item['name']."' WHERE `id`='".$user['id']."'");
Попробуй так
mysql_query_m("UPDATE `user` SET `pers`='".$item['name']."' WHERE `id`='".$item['id']."'");
#4
АрхангеЛ, именно так.так как в дцмс юзер[id] и движках слизанных с дцмс в основном переменная того кто делает действие
#5
АрхангеЛ, все эти почти основные в игре запросы и мне надо так чтобы когда проверили пост эти запросы пользователям записывалось а не админам которые Принимает постов
#6
какая разница?
#7
ну кто даст правильный запрос?
#8
Император, 3 пост отвечает на твою проблему.
#9
Император, Император, 3 пост отвечает на твою проблему.а по сути непонятно какая переменная за что отвечает.
если это на дцмс то замени $user на $item

только не '$user[... а '".$item['id']."' без скобок и т.п.
#10
Император, ты вообще пробовал сделать как я написал?
#11
ок Подождите немного
#12
Не получается
#13
весь код скрипт

<?
include_once '../../sys/inc/start.php';
include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';
include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';
include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';
include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/user.php';

if (isset($user))$ank['id']=$user['id'];
if (isset($_GET['id']))$ank['id']=intval($_GET['id']);


if ($ank['id']==0)
{
$pers=get_user($pers['id']);
$set['title']=' Проверочный пост '; // заголовок страницы
include_once '../../sys/inc/thead.php';
title();
aut();
echo "<span class=\"status\">$ank[group_name]</span><br />\n";

if ($ank['ank_o_sebe']!=NULL)echo "<span class=\"ank_n\">О себе:</span> <span class=\"ank_d\">$ank[ank_o_sebe]</span><br />\n";




if(isset($_SESSION['refer']) && $_SESSION['refer']!=NULL && otkuda($_SESSION['refer']))
echo "<div class='foot'><a href='$_SESSION[refer]'>".otkuda($_SESSION['refer'])."</a><br />\n</div>\n";

include_once '../../sys/inc/tfoot.php';
exit;
}

$pers=get_user($pers['id']);
if(!$pers){header("Location: /index.php?".SID);exit;}




$pers=get_user($pers['id']);
$set['title']='Проверочный пост '; // заголовок страницы
include_once '../../sys/inc/thead.php';
title();


if ((!isset($_SESSION['refer']) || $_SESSION['refer']==NULL)
&& isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!=NULL &&
!ereg('info\.php',$_SERVER['HTTP_REFERER']))
$_SESSION['refer']=str_replace('&','&',ereg_replace('^http://[^/]*/','/', $_SERVER['HTTP_REFERER']));
aut();






$q = mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."'");
if (!mysql_num_rows($q)) {
echo '<div class="err">Нет такого Персонажа!</div>';
echo "<div class=\"foot\"> <a href='/naruto/persy/index.php/'>Выбор Персонажей</a></div>";
include_once '../../sys/inc/tfoot.php';
break; }
$post=mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");


//if ($ank['group_access']>1)echo "<span class='status'>$ank[group_name]</span><br />\n";





//include 'inc/admin_act.php';

if (isset($_POST['msg']) && isset($user))
{

$msg=$_POST['msg'];
if (isset($_POST['translit']) && $_POST['translit']==1)$msg=translit($msg);

$mat=antimat($msg);
if ($mat)$err[]='В тексте сообщения обнаружен мат: '.$mat;

if (strlen2($msg)>100500){$err[]='Сообщение слишком длинное';}
elseif (strlen2($msg)<$tex[simvolov]){$err[]='Пост слишком маленький нужно не меньше '.$tex['simvolov'].' символов!';}
elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `pers_post` WHERE `id_user` = '$user[id]' AND `id_pers`='$ank[id]' AND `msg` = '".my_esc($msg)."' LIMIT 1"),0)!=0){$err='Ваш пост повторяет предыдущий';}
elseif(!isset($err)){

$tema=htmlspecialchars(mysql_real_escape_string(trim($_POST['tema'])));
mysql_query("UPDATE `user` SET `pers_post` = '".$tex['name']."' WHERE `id` ='$user[id]';");
mysql_query("INSERT INTO `pers_post` (id_user, time, tema, msg, id_pers) values('$user[id]', '$time', '$tema', '".my_esc($msg)."', '$ank[id]')");
msg('Сообщение успешно добавлено');


}
}


err();
echo "<center>";
$q = mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."'");
if (!mysql_num_rows($q)) {
echo '<div class="err">Нет такого Персонажа!</div>';
echo "<div class=\"foot\"> <a href='/naruto/persy/index.php/'>Выбор Персонажей</a></div>";
include_once '../../sys/inc/tfoot.php';
break;
}
$post=mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
$tex = mysql_fetch_assoc($post);


$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `pers_post` WHERE `id_pers`='$ank[id]'"),0);
$k_page=k_page($k_post,$set['p_str']);
$page=page($k_page);
$start=$set['p_str']*$page-$set['p_str'];

////////////////

if ($k_page>1)str('?id='.$ank['id'].'&',$k_page,$page); // Вывод страниц


/////////////////
$q=mysql_query("SELECT * FROM `pers_post` WHERE `id_pers`='$ank[id]' ORDER BY id DESC LIMIT $start, $set[p_str]");
while ($post = mysql_fetch_assoc($q))

$item=mysql_fetch_array(mysql_query_m("select * from `persy` where `id`='".intval($_GET['id'])."'"));
{

$ank12=get_user($post['id_user']);
$ank=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = $post[id_user] LIMIT 1"));

if(isset($_POST['yes']))
{
mysql_query_m("UPDATE `user` SET `idit` = '".$item['id']."' WHERE `id` ='$ank[id]';");


mysql_query_m("UPDATE `user` SET `missii` = '".($user['missii']=1)."' WHERE `id` =".($ank['id']).";");
mysql_query_m("UPDATE `user` SET `pers`='".$item['name']."' WHERE `id`='".$ank['id']."'");
mysql_query_m("UPDATE `persy` SET `times` = '".($item['times']=0)."' WHERE `id` = '$item[id]';");
mysql_query_m("UPDATE `user` SET `post_naruto` = '".($user['post_naruto']=1)."' WHERE `id` ='$ank[id]';");
mysql_query_m("UPDATE `user` SET `rang` = '".($user['rang']=1)."' WHERE `id` ='$user[id]';");
mysql_query_m("UPDATE `user` SET `poster_nar` = '".($user['poster_nar']=0)."' WHERE `id` ='$user[id]';");
msg('Персонаж выбран');
mysql_query_m("UPDATE `persy` SET `idit` = '".($item['idit']=$user['id'])."' WHERE `id` = '$item[id]';");
mysql_query_m("UPDATE `persy` SET `nick` = '".($item['nick']=$user['nick'])."' WHERE `id` = '$item[id]';");
header("Location: /naruto/menu.php");

echo "<div class='p_m'><center>";

echo "Вы выбрали $item[name]. <br /><a href='/naruto/menu.php'>Вернуться в квест</a>";
echo "</center></div>";
echo"<div class='foot'>\n";
echo "<img src='/naruto/persy/img/back.png' alt='' /> <a href='item.php?id=$item[id]'>Назад</a><br />\n";
echo"</div>\n";
include_once '../../sys/inc/tfoot.php';
exit();
}
}







?>
#14
ты прав, оптимизация для лохов
#15
не получилось млин.
весь код здесь ,где ошибся?


<?
include_once '../../sys/inc/start.php';
include_once '../../sys/inc/compress.php';
include_once '../../sys/inc/sess.php';
include_once '../../sys/inc/home.php';
include_once '../../sys/inc/settings.php';
include_once '../../sys/inc/db_connect.php';
include_once '../../sys/inc/ipua.php';
include_once '../../sys/inc/fnc.php';
include_once '../../sys/inc/user.php';
if (isset($user))$ank['id']=$user['id'];
if (isset($_GET['id']))$ank['id']=intval($_GET['id']);
if ($ank['id']==0)
{
$pers=get_user($pers['id']);
$set['title']=' Проверочный пост '; // заголовок страницы
include_once '../../sys/inc/thead.php';
title();
aut();
echo "<span class="status">$ank[group_name]</span><br />n";
if ($ank['ank_o_sebe']!=NULL)echo "<span class="ank_n">О себе:</span> <span class="ank_d">$ank[ank_o_sebe]</span><br />n";
if(isset($_SESSION['refer']) && $_SESSION['refer']!=NULL && otkuda($_SESSION['refer']))
echo "<div class='foot'><a href='$_SESSION[refer]'>".otkuda($_SESSION['refer'])."</a><br />n</div>n";
include_once '../../sys/inc/tfoot.php';
exit;
}
$pers=get_user($pers['id']);
if(!$pers){header("Location: /index.php?".SID);exit;}
$pers=get_user($pers['id']);
$set['title']='Проверочный пост '; // заголовок страницы
include_once '../../sys/inc/thead.php';
title();
if ((!isset($_SESSION['refer']) || $_SESSION['refer']==NULL)
&& isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']!=NULL &&
!ereg('info.php',$_SERVER['HTTP_REFERER']))
$_SESSION['refer']=str_replace('&','&',ereg_replace('^http://[^/]*/','/', $_SERVER['HTTP_REFERER']));
aut();
$q = mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."'");
if (!mysql_num_rows($q)) {
echo '<div class="err">Нет такого Персонажа!</div>';
echo "<div class="foot"> <a href='/naruto/persy/index.php/'>Выбор Персонажей</a></div>";
include_once '../../sys/inc/tfoot.php';
break; }
$post=mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
//if ($ank['group_access']>1)echo "<span class='status'>$ank[group_name]</span><br />n";
//include 'inc/admin_act.php';
if (isset($_POST['msg']) && isset($user))
{
$msg=$_POST['msg'];
if (isset($_POST['translit']) && $_POST['translit']==1)$msg=translit($msg);
$mat=antimat($msg);
if ($mat)$err[]='В тексте сообщения обнаружен мат: '.$mat;
if (strlen2($msg)>100500){$err[]='Сообщение слишком длинное';}
elseif (strlen2($msg)<$tex[simvolov]){$err[]='Пост слишком маленький нужно не меньше '.$tex['simvolov'].' символов!';}
elseif (mysql_result(mysql_query("SELECT COUNT(*) FROM `pers_post` WHERE `id_user` = '$user[id]' AND `id_pers`='$ank[id]' AND `msg` = '".my_esc($msg)."' LIMIT 1"),0)!=0){$err='Ваш пост повторяет предыдущий';}
elseif(!isset($err)){
$tema=htmlspecialchars(mysql_real_escape_string(trim($_POST['tema'])));
mysql_query("UPDATE `user` SET `pers_post` = '".$tex['name']."' WHERE `id` ='$user[id]';");
mysql_query("INSERT INTO `pers_post` (id_user, time, tema, msg, id_pers) values('$user[id]', '$time', '$tema', '".my_esc($msg)."', '$ank[id]')");
msg('Сообщение успешно добавлено');
}
}
err();
echo "<center>";
$q = mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."'");
if (!mysql_num_rows($q)) {
echo '<div class="err">Нет такого Персонажа!</div>';
echo "<div class="foot"> <a href='/naruto/persy/index.php/'>Выбор Персонажей</a></div>";
include_once '../../sys/inc/tfoot.php';
break;
}
$post=mysql_query("SELECT * FROM `persy` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
$tex = mysql_fetch_assoc($post);
$k_post=mysql_result(mysql_query("SELECT COUNT(*) FROM `pers_post` WHERE `id_pers`='$ank[id]'"),0);
$k_page=k_page($k_post,$set['p_str']);
$page=page($k_page);
$start=$set['p_str']*$page-$set['p_str'];
////////////////
if ($k_page>1)str('?id='.$ank['id'].'&',$k_page,$page); // Вывод страниц
/////////////////
$q=mysql_query("SELECT * FROM `pers_post` WHERE `id_pers`='$ank[id]' ORDER BY id DESC LIMIT $start, $set[p_str]");
while ($post = mysql_fetch_assoc($q))
$item=mysql_fetch_array(mysql_query_m("select * from `persy` where `id`='".intval($_GET['id'])."'"));
{
$ank12=get_user($post['id_user']);
$ank=mysql_fetch_assoc(mysql_query("SELECT * FROM `user` WHERE `id` = $post[id_user] LIMIT 1"));
if(isset($_POST['yes']))
{mysql_query("
UPDATE `user`
SET `idit` = '" . $item['id'] . "',
`missii` = '1',
`pers`='" . $item['name'] . "',
`post_naruto` = '1',
`rang` = '1',
`poster_nar` = '0'
WHERE `id` =" . $user['id'] . ";");
mysql_query("
UPDATE `persy`
SET `times` = '0',
`idit` = '" . $user['id'] . "',
`nick` = '" . $user['nick'] . "'
WHERE `id` = '" . $item['id'] . "';");
msg('Персонаж выбран');
header("Location: /naruto/menu.php");
echo "<div class='p_m'><center>";
echo "Вы выбрали $item[name]. <br /><a href='/naruto/menu.php'>Вернуться в квест</a>";
echo "</center></div>";
echo"<div class='foot'>n";
echo "<img src='/naruto/persy/img/back.png' alt='' /> <a href='item.php?id=$item[id]'>Назад</a><br />n";
echo"</div>n";
include_once '../../sys/inc/tfoot.php';
exit();
}
}
?>