Задавайте вопросы, мы ответим
Вы не зашли.
Здравствуйте.
Кто может найти ошибку , в чем она заключается?
для одностраничного сайта нужно модуль ОТЗЫВЫ СДЕЛАТЬ с оценкой.
вот сайми файлы с содержанием 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]
Ошибка заключается в том что при добавлении отзыва пишет что комментарий отправился на МОДЕРНИЗАЦИЮ, но запись в БД не произведена ну и естественно записи нет и а ПУ админа...
В чем может быть ошибка? что я не углядел? кому не сложно поправьте
Неактивен
Давайте отделим 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'] . '"');
Для начала вот этот запрос выведите куда-нибудь в лог и приложите сюда, хотя бы внешне на него посмотрим.
Неактивен