Чтение RSS каналов

Форум

Открыть Ответить

Подключил функцию комментариев в своём модуле, не срабатывает POST запрос

5

5
1
21.09.2016 20:43:0012.10.2016 18:05:42
Сайт на ОпенСлаед 1.3.

Добавил новый модуль, подключил функцию комментариев в просмотрах: show_com($id)

Но почему-то они не записываются. Ошибок нет и сама функция show_com() работает правильно. А вот дальше, данные из формы должны обработаться функцией save_com, но они туда не поступают. После нажатия на кнопку "Разместить комментарий" сайт переходит на первую страницу модуля.

В тоже время у модуля новости всё работает нормально.
В чём может быть проблема?

Ссылка на страницу где комментарий не добавляется battle-wizards.ru/asgard-view-5.html работающий комментарий (в новостях) battle-wizards.ru/novosti-view-23.html

В чём может быть проблема?


Версия системы: Open SLAED 1.*
Версия PHP: 5
Сервер: Сервер в интернете
4.25

4.25
2
23.09.2016 18:27:33
Проверяли, комментарии записываются в базу?
Код модуля можете показать?

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
3
23.09.2016 20:00:3023.09.2016 20:01:56
в базу не пишется, в логах ошибок нет.

function view() {
....
show_com($id);
.....
}


функция show_com(). Стандартная. Все данные в неё заносятся. Пробовал выводить значения переменных после формы - все переменные вывелись с верными значениями.
		echo "<form name=\"post\" action=\"index.php?name=".$conf['name']."\" method=\"post\" OnSubmit=\"ButtonDisable(this)\">";
		if (is_user()) {
			echo "<div class=\"left\">"._YOURNAME.":</div><div class=\"center\">".text_filter(substr($user[1], 0, 25))."</div>";
        } else {
			echo "<div class=\"left\">"._YOURNAME.":</div><div class=\"center\"><input type=\"text\" name=\"postname\" value=\"".$confu['anonym']."\" size=\"65\" maxlength=\"25\" class=\"".$conf['name']."\"></div>";
        }
		echo "<div class=\"left\">"._COMMENT.":</div><div class=\"center\">".textarea("1", "comment", "", $conf['name'], "5")."</div>"
		."".captcha_random().""
		."<div class=\"button\"><input type=\"hidden\" name=\"cid\" value=\"$cid\">
        <input type=\"hidden\" name=\"op\" value=\"save_com\">
        <input type=\"submit\" value=\""._COMMENTREPLY."\" class=\"fbutton\"></div></form>";


функция save_com() стандартная . В неё данные не поступают


Версия системы: Open SLAED 1.*
Версия PHP: 5
4.25

4.25
4
24.09.2016 18:50:47
В функции save_com следует внести изменения с учётом вашего нового модуля.
Сейчас она сохраняет комментарии только для модулей: файлы, новости, опросы.

Рекомендую в конфигурациях системы активировать "Анализатор переменных", поможет в выявлении проблемных мест. Если конечно в теме оформления в файле index.html не удалён участок: {%BLOCKS variables%}

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
5
24.09.2016 19:56:2924.09.2016 19:58:34
нет смысла вносить туда изменения. Так как эта функция почему-то не вызывается. В этом весь и вопрос.
Я её даже полностью закоментировал добавив
echo "Коментарии отключены";


в блоке новостей отрабатывается правильно
а в блоке асгард не хочет.

анализатор переменных после нажатия на кнопку показывает:
GET - name=asgard

POST - postname=Guest, comment=проверка, family=Шрифт, color=Цвет, size=Размер, check=593584, cid=99, op=save_com

а может быть что-то из-за настроек в файлах конфиг_рерайт и .htaccess ?
4.25

4.25
6
25.09.2016 14:18:17

а может быть что-то из-за настроек в файлах конфиг_рерайт и .htaccess

Вполне возможно, попробуйте отключить ЧПУ.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
7
07.10.2016 13:49:41
пробовал отключить. всё равно не помогло.
в чём ещё может быть причина? есть какие-нито варианты?


Версия системы: SLAED CMS 6.* Pro
Версия PHP: 5
Сервер: Сервер в интернете
4.25

4.25
8
07.10.2016 16:05:59
Вышлите на почту весь модуль с DB таблицей, протестирую на своём локальном сервере.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
9
12.10.2016 19:43:5112.10.2016 17:47:17
Проверил Ваш модуль, обнаружил следующее:

В конце файла модуля, index.php замените:
switch($op) {
	default:
	asgard();
	break;

	case "view":
	view();
	break;
}

На:
switch($op) {
	default:
	asgard();
	break;

	case "view":
	view();
	break;

	case "save_com":
	save_com();
	break;
}

После чего комментарий будет записан в базу.

Отправка срабатывает, но переход в соответствующий отдел, то есть обратно не происходит. Искать причину не стал в виду отсутствия времени, думаю разберётесь.

Обратите внимание на ещё один нюанс, Ваш код модуля сильно грузит систему:
Генерация: 7.876 сек. и 19 запросов к базе данных за 0.004 сек.

При этом стандартные страницы генерируются на порядок быстрее:
Генерация: 0.055 сек. и 17 запросов к базе данных за 0.005 сек.

Тут проблема не в запросах в базу, с ними на первый взгляд всё в порядке, ищите проблему в коде функции.

О сколько нам открытий чудных,
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг...
3.24

3.24
10
14.10.2016 06:16:13
Всем доброго дня. Глянул тоже мельком. Действительно, видимо причина в коде.
0

0
Открыть Ответить
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь