Обработка данных в модуле

  • 4 Ответов
  • 303 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

Skelvin

  • ***
  • 29
  • 0
Здравствуйте! Пишу свой модуль, по интернет мануалу создана такая структура файлов модуля:

-mod_moder
----mod_moder.php
----mod_moder.xml
----tmpl
-------default.php
-------success.php

В файле default.php есть ссылка для редактирования записи:
Код
http://site.ru/index.php/modules/mod_moder/mod_moder.php?action=public&id=214

А в файле mod_moder.php находится обработка в зависимости от action
Код
if(isset($_GET["action"]))
{
}

При нажатии на ссылку выдается ошибка Слишком много переадресаций...

Я новичок в php. Где-то принципиальная ошибка в передаче данных?

*

draff

  • *******
  • 2739
  • 169
  • step by step
Re: Обработка данных в модуле
« Ответ #1 : 19.06.2016, 11:03:44 »
В Joomla ссылка на главную точку входа-
http://site.ru/index.php/?action=public&id=214

*

Taatshi

  • *****
  • 4779
  • 452
Re: Обработка данных в модуле
« Ответ #2 : 19.06.2016, 11:09:05 »
Нельзя писать ссылку в явном виде. А что, если включен SEF? А что, если не включен? А если в .htaccess стоит переадресация с index.php на без оного? Посмотрите в движке как прописываются ссылки с помощью JURI::base() к примеру

Но вообще, конечно, хорошо бы увидеть весь код.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3  /  ОТЗЫВЫ 
Минимальная ставка за платные услуги 1000 рэ Связь: telegram - Taatshi, почта - Taatshi на яндексе.

*

Skelvin

  • ***
  • 29
  • 0
Re: Обработка данных в модуле
« Ответ #3 : 19.06.2016, 14:05:26 »
Нельзя писать ссылку в явном виде. А что, если включен SEF? А что, если не включен? А если в .htaccess стоит переадресация с index.php на без оного? Посмотрите в движке как прописываются ссылки с помощью JURI::base() к примеру

Но вообще, конечно, хорошо бы увидеть весь код.

Вопросы меня все в тупик поставили, следствия такого решения я не осознаю честно
в Общих настройках Joomla стоят такие настройки
Включить SEF (ЧПУ) Да
Перенаправление URL Да
Добавлять суффикс к URL Нет
Алиасы в Unicode Нет

файл .htaccess не изменялся с установки
Код
IndexIgnore *
Options +FollowSymlinks
Options -Indexes
RewriteEngine On
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]

Цель данного модуля выводить таблицу из бд  и совершать простую модерацию записей одним полем статус (прошел/не прошел), я даже не знаю как реализовать это безопасно не через ссылки....

*

SmokerMan

  • ********
  • 5329
  • 689
Re: Обработка данных в модуле
« Ответ #4 : 19.06.2016, 15:21:04 »
как вариант можно конечно использовать текущий URL
Код
JUri::current().'?blablabla=1'
но это не совсем правильный вариант
еще как вариант использовать com_ajax, зависит от задачи
а так модули не предназначены для каких либо действий, это делается через компонент