Код (Text): <form method="post" target="_blank" id="check" name="check" action=""> --тут http://localhost/test/ <input type="hidden" name="test" value="1"> <input type="submit" name="okbutton" value="OK"> </form> <form method="post" target="_blank" id="check1" name="check1" action="http://localhost/joomla"> <input type="hidden" name="test" value="1"> <input type="submit" name="okbutton" value="OK"> </form> На обоих страницах стоит print_r($_POST) В первом случае печатает элементы формы как есть, во втором упорно возвращает пустой массив. Запрос идёт к одному домену, но к разным папкам. Что не так?
С вероятностью 95% это срабатывает какая-нибудь CSRF-защита джумлы, опустошающая POST, если в нем нет токена. И правильно делает. Негоже принимать POST-ы не со своих собственных страниц.
Вставил в самый первый файл в начало <?php print_r($_POST);exit;?>. POST должен передаваться, так как в этот момент джумла ещё не начинала обработку.
В той же папке скрипт печатает данные формы без проблем. Джумле передаются данные post заголовком, редиректит 301 на тот же самый адрес почему то а вот localhost/joomla/?a=1 без проблем печатает
к Index.php путь укажи в ту папку, блин У тебя там может лежать Index.html, например, какой-нибудь, а сервак не настроен воспроизводить html как php. Вот тебя и редиректит, что посылаешь клиент туда-не-знаю-куда, а там htaccess тебя перемещает на рабочую ссылку. Указывать в обработчике формы путь только до папки со скриптом - это само по себе дурной тон. Вот если пропишешь полностью до файла и там будет пустота, тогда будем думать дальше.
Есть указать /joomla/?video=xxx то печатается Виноват 301 редирект на тот же самый адрес в случае localhost/joomla редирект происходит на localhost/joomla (не понимаю зачем редиректить сам на себя) htaccess содержит простые указания для работы понятных url. Он чтоли кривой
В обработчике формы надо указывать путь к исполняемому скрипту. К joomla/index.php в вашем случае. А не придумывать себе проблемы, чтобы решать их на форуме.