[Help] Проблема с профилем от merdox

Тема в разделе "Торрент Трекеры", создана пользователем Pavel10, 13 янв 2011.

  1. Pavel10

    Pavel10 Писатель

    Регистр.:
    24 окт 2010
    Сообщения:
    0
    Симпатии:
    1
    Собственно эта проблема беспокоит многих: при удалении сообшения со стены в профиле от мердокса выскакивает ошибка: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    Кто-нибудь может помочь ее исправить? Очень нужно!!
    Файл wall.php прилагаю:
    PHP:
    <?php
    require_once("include/bittorrent.php");
    dbconn();
    header ("Content-Type: text/html; charset=" $tracker_lang['language_charset']);
    if(
    $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' && $_SERVER["REQUEST_METHOD"] == 'POST')
    {
        
    $act = (string)$_POST['act'];
        
    ?>
        <script language="JavaScript" type="text/javascript">
            jQuery(function($) {$('.zebra:even').css({backgroundColor: '#EEEEEE'});});
        </script>
        <?
        if ($act == "send")
        {
            $to = (int)$_POST['to'];
            $text = base64_decode($_POST['text']);
            if(empty($CURUSER['id']) || empty($to) || empty($text))
                die("Прямой доступ закрыт");
            $dt = get_date_time();
            sql_query("INSERT INTO wall (text, owner, user, added) VALUES (" . sqlesc($text) . ", $to, " . sqlesc($CURUSER['id']) . ", " . sqlesc($dt) . ")") or sqlerr(__FILE__,__LINE__);
            $show = true;
        }
        elseif ($act = "delete")
        {
            $post = (int)$_POST['post'];
            if (get_user_class() < UC_MODERATOR)
            {
                $res = sql_query("SELECT user, owner FROM wall WHERE id = $post") or sqlerr(__FILE__,__LINE__);
                $row = mysql_fetch_array($res);
                if ($CURUSER['id'] != $row['owner'] && $CURUSER['id'] != $row['user'] && get_user_class() < UC_MODERATOR)
                    die("У вас нет прав.");
            }
            sql_query("DELETE FROM wall WHERE id = $post") or sqlerr(__FILE__,__LINE__);
            $show = true;
        }
        else
           die("Прямой доступ закрыт");
        if (isset($show))
        {
            $count = get_row_count("wall", "WHERE owner = $to");
            $limited = 5;
            list($pagertop, $pagerbottom, $limit) = pager($limited, $count, "userdetails.php?id=$to&", array(lastpagedefault => 1));
            $res = sql_query("SELECT w.*, u.username, u.class, u.avatar FROM wall AS w LEFT JOIN users AS u ON u.id = w.user WHERE w.owner = $to ORDER BY w.added $limit") or sqlerr(__FILE__,__LINE__);
            if (mysql_num_rows($res) < 1)
                print("<p>Нет записей.</p>\n");
            else
            {
                print("<table class=\"inlay\" width=\"100%\">\n");
                while ($row = mysql_fetch_array($res))
                {
                    print("<tr class=\"zebra\" valign=\"top\">
                    <td width=\"50\"><img src=\"" . ($row['avatar'] ? $row['avatar'] : "pic/default_avatar.gif") . "\" style=\"border:1px solid #999;padding:5px;width:50px;\" title=\"\" alt=\"\" /></td>
                    <td>
                    <div style=\"float:left;\"><a href=\"userdetails.php?id=" . $row['user'] . "\">" . get_user_class_color($row['class'], $row['username']) . "</a></div>
                    <div style=\"float:right;\"><font size=\"1\" color=\"#C0C0C0\">" . nicetime($row['added'], true) . "&nbsp;" . (($CURUSER['id'] == $row['owner'] || $CURUSER['id'] == $row['user']  || get_user_class() >= UC_MODERATOR) ? "<a href=\"javascript:void(0);\" onclick=\"wall_del('" . $row['id'] . "', '" . $row['owner'] . "');\"><img src=\"pic/warned2.gif\" border=\"0\" /></a>" : "") . "</font></div><br />" . format_comment($row['text']) . "</td>
                    </tr>\n");
                    print("<tr><td></td></tr>\n");
                }
                print("</table>\n");
                print("<table border=\"0\">\n");
                print("<tr><td style=\"border:none;\">");
                print($pagertop);
                print("</td></tr>");
                print("</table>\n");
            }
        }
        else
            die("Прямой доступ закрыт");
    }
    else
        die("Прямой доступ закрыт");
    ?>
     
  2. vjpitbul

    vjpitbul Прохожие

    В файле wall.php это:

    PHP:
    $count get_row_count("wall""WHERE owner =$to");
            
    $limited 5;
            list(
    $pagertop$pagerbottom$limit) = pager($limited$count"userdetails.php?id=$to&", array(lastpagedefault => 1));
            
    $res sql_query("SELECT w.*, u.username, u.class, u.avatar FROM wall AS w LEFT JOIN users AS u ON u.id = w.user WHERE w.owner =$to ORDER BY w.added $limit") or sqlerr(__FILE__,__LINE__);
    Замени на это:

    PHP:
    $count get_row_count("wall""WHERE owner ='$to'");
            
    $limited 5;
            list(
    $pagertop$pagerbottom$limit) = pager($limited$count"userdetails.php?id=$to&", array(lastpagedefault => 1));
            
    $res sql_query("SELECT w.*, u.username, u.class, u.avatar FROM wall AS w LEFT JOIN users AS u ON u.id = w.user WHERE w.owner ='$to' ORDER BY w.added $limit") or sqlerr(__FILE__,__LINE__);
    Автор: den_IN
     
  3. Pavel10

    Pavel10 Писатель

    Регистр.:
    24 окт 2010
    Сообщения:
    0
    Симпатии:
    1
    vjpitbul, спасибо большое теперь SQL ошибки нет. Но появилась другая проблема.

    Пример: На стене висит 3 сообщения, я удалил одно, появилась надпись Нет записей. Обновил страницу - висят 2 сообщения. Как это возможно исправить?
     
    Sueruser нравится это.