SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 18.04.2019 09:52:21

plejerka
Участник
Зарегистрирован: 18.04.2019
Сообщений: 1

Ошибка sql или в PHP

Здравствуйте.
Кто может найти ошибку , в чем она заключается?

для одностраничного сайта нужно модуль ОТЗЫВЫ СДЕЛАТЬ с оценкой.

вот сайми файлы с содержанием PHP

[SPOILER][PHP]
<?php
    if (!DEFINED('sait'))
        exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404'));
    if ($go) {
        sys::noauth();
        if (isset($_POST) && !empty($_POST)) {
            if (!isset($_POST['text'])) {
                sys::outjs(array(
                    'e' => 'Необходимо заполнить все поля'
                ));
            }
            if (!$_POST['text']) {
                $pesp = '<h3 class="red">Ошибка - заполните все поля</h3>';
            }
            if ($_POST['text'] and $_POST['ocenka']) {
                $users = $user['login'];
                $date  = date("y-m-d");
                $sql->query('INSERT INTO `response` set `text`="' . sys::bbc($_POST['text']) . '", `date`="' . $date . '", `autor`="' . $users . '", `ocenka`="' . $_POST['ocenka'] . '", `status`="0", `uid`="' . $user['id'] . '"');
                sys::outjs(array(
                    'e' => 'Отзыв добавлен на модерацию!<meta http-equiv="refresh" content="5;">'
                ), $nmch);
            } else {
                $pesp = '<h3 class="red">Ошибка - заполните все поля</h3>';
            }
            sys::outjs(array(
                'resp' => $pesp
            ));
        }
    }
    $status = explode("_", $request);
    $sql->query('SELECT `id` FROM `response`');
    $aPage = sys::page($page, $sql->num(), $cfg['response_page']);
    sys::page_gen($aPage['ceil'], $page, $aPage['page'], 'response');
    $sql->query('SELECT * FROM `response` where status=1 ORDER BY `id` DESC LIMIT ' . $aPage['num'] . ', ' . $cfg['response_page']);
    while ($resp = $sql->get()) {
        $html->get('get', 'sections/response');
        $html->set('id', $resp['id']);
        $html->set('name', htmlspecialchars_decode($resp['name']));
        $html->set('text', htmlspecialchars_decode($resp['text']));
        $html->set('autor', $resp['autor']);
        $html->set('date', $resp['date']);
        if ($resp['ocenka'] == 1) {
            $html->set('ocenka', 'like');
        } else {
            $html->set('ocenka', 'dislike');
        }
        if ($resp['ocenka'] == 1) {
            $html->set('ocenka_title', 'Положительнай отзыв');
        } else {
            $html->set('ocenka_title', 'Отрицательный отзыв');
        }
        global $cfg;
        $file = 'upload/avatars/' . $resp['uid'] . '.';
        $link = $cfg['http'] . 'upload/avatars/' . $resp['uid'] . '.';
        if (file_exists(ROOT . $file . 'jpg'))
            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.jpg');
        elseif (file_exists(ROOT . $file . 'png'))
            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.png');
        elseif (file_exists(ROOT . $file . 'gif'))
            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.gif');
        else
            $html->set('ava', $cfg['http'] . 'template/images/avatar.png');
        $html->pack('response');
    }
   
    $html->get('all', 'sections/response');
    $html->set('list', isset($html->arr['response']) ? $html->arr['response'] : '');
    $html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
    $html->pack('main');
?>
[/PHP][/SPOILER]

[SPOILER][PHP]
<?php
    if (!DEFINED('sait'))
        exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404'));
   
    // Проверка на авторизацию
    sys::noauth();

    $title = 'Добавление отзыва';

    $html->nav($title);
   
    if ($go) {
        sys::noauth();
        if (isset($_POST) && !empty($_POST)) {
            if (!isset($_POST['text'])) {
                sys::outjs(array(
                    'e' => 'Необходимо заполнить все поля'
                ));
            }
            if (!$_POST['text']) {
                $pesp = '<h3 class="red">Ошибка - заполните все поля</h3>';
            }
            if ($_POST['text'] and $_POST['ocenka']) {
                $users = $user['login'];
                $date  = date("y-m-d");
                $sql->query('INSERT INTO `response` set `text`="' . sys::bbc($_POST['text']) . '", `date`="' . $date . '", `autor`="' . $users . '", `ocenka`="' . $_POST['ocenka'] . '", `status`="0", `uid`="' . $user['id'] . '"');
                sys::outjs(array(
                    'e' => 'Отзыв добавлен на модерацию!<meta http-equiv="refresh" content="5;">'
                ), $nmch);
            } else {
                $pesp = '<h3 class="red">Ошибка - заполните все поля</h3>';
            }
            sys::outjs(array(
                'resp' => $pesp
            ));
        }
    }
   
    $status = explode("_", $request);
   
    $sql->query('SELECT `id` FROM `response`');
   
    $aPage = sys::page($page, $sql->num(), $cfg['response_page']);
   
    sys::page_gen($aPage['ceil'], $page, $aPage['page'], 'response');
   
    $sql->query('SELECT * FROM `response` where status=1 ORDER BY `id` DESC LIMIT ' . $aPage['num'] . ', ' . $cfg['response_page']);
    while ($resp = $sql->get()) {
        $html->get('get', 'sections/response');
        $html->set('id', $resp['id']);
        $html->set('name', htmlspecialchars_decode($resp['name']));
        $html->set('text', htmlspecialchars_decode($resp['text']));
        $html->set('autor', $resp['autor']);
        $html->set('date', $resp['date']);
        if ($resp['ocenka'] == 1) {
            $html->set('ocenka', 'like');
        } else {
            $html->set('ocenka', 'dislike');
        }
        if ($resp['ocenka'] == 1) {
            $html->set('ocenka_title', 'Положительнай отзыв');
        } else {
            $html->set('ocenka_title', 'Отрицательный отзыв');
        }
        global $cfg;
        $file = 'upload/avatars/' . $resp['uid'] . '.';
        $link = $cfg['http'] . 'upload/avatars/' . $resp['uid'] . '.';
        if (file_exists(ROOT . $file . 'jpg'))
            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.jpg');
        elseif (file_exists(ROOT . $file . 'png'))
            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.png');
        elseif (file_exists(ROOT . $file . 'gif'))
            $html->set('ava', '/upload/avatars/' . $resp['uid'] . '.gif');
        else
            $html->set('ava', $cfg['http'] . 'template/images/avatar.png');
        $html->pack('response');
    }
   
    $html->get('all', 'sections/response');
    $html->set('list', isset($html->arr['response']) ? $html->arr['response'] : '');
    $html->set('pages', isset($html->arr['pages']) ? $html->arr['pages'] : '');
    $html->pack('main');
?>
[/PHP][/SPOILER]

Вот таблица БД mySQL
[SPOILER][SQL]
CREATE TABLE IF NOT EXISTS response (
`id` INT(11) NOT NULL,
  `name` VARCHAR(36) NOT NULL,
  `text` VARCHAR(1000) NOT NULL,
  `autor` INT(11) NOT NULL,
  `ocenka` tinyint(1) NOT NULL DEFAULT '0',
  `status` tinyint(1) NOT NULL,
  `ocenka_title` INT(11) NOT NULL DEFAULT '0',
  `dislike` INT(11) NOT NULL DEFAULT '0',
  `like` INT(11) NOT NULL DEFAULT '0',
  `img` VARCHAR(1000) NOT NULL,
  `response` INT(11) NOT NULL,
  `user` INT(11) NOT NULL,
  `title` VARCHAR(100) NOT NULL DEFAULT '',
  `close` INT(11) NOT NULL,
  `type` VARCHAR(10) NOT NULL,
  `date` INT(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Индексы сохранённых таблиц
--

--
-- Индексы таблицы `response`
--
ALTER TABLE `response`
ADD PRIMARY KEY (`id`);

--
-- AUTO_INCREMENT для сохранённых таблиц
--

--
-- AUTO_INCREMENT для таблицы `response`
--
ALTER TABLE `response`
MODIFY `id` INT(11) NOT NULL AUTO_INCREMENT;
[/SQL][/SPOILER]


Ошибка заключается в том что при добавлении отзыва пишет что комментарий отправился на МОДЕРНИЗАЦИЮ, но запись в БД не произведена ну и естественно записи нет и а ПУ админа...

В чем может быть ошибка? что я не углядел? кому не сложно поправьте smile

Неактивен

 

#2 18.04.2019 11:12:14

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2419

Re: Ошибка sql или в PHP

Давайте отделим php-код от sql.

$sql->query('INSERT INTO `response` set `text`="' . sys::bbc($_POST['text']) . '", `date`="' . $date . '", `autor`="' . $users . '", `ocenka`="' . $_POST['ocenka'] . '", `status`="0", `uid`="' . $user['id'] . '"');

Для начала вот этот запрос выведите куда-нибудь в лог и приложите сюда, хотя бы внешне на него посмотрим.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson