rewrite и метод POST

CHEM_Eugene

Новичок
rewrite и метод POST

Помогите, никак не могу понять как писать значение тега action при включенном реврайте.
Данные, переданные методом post, теряются?

У меня action= http://<?=$_SERVER['HTTP_HOST']?>/news/modify.template/Describe/<?=$value['nid']?>

Реврайт такой:

RewriteEngine On
Options +FollowSymlinks
RewriteRule ^(.*)/(.*)\.template/(.*)/(.*)$ http://abc.cms/index.php?module=$1&page=$2&$3=on&n=$4 [L,QSA]

Далее подключается modify.template, который вызывает метод класса, который должен использовать данные $_POST, а их уж и нет.
 

Фанат

oncle terrible
Команда форума
а почему в начале modify.template, а не в начале index.php?
 

CHEM_Eugene

Новичок
Автор оригинала: *****
а почему в начале modify.template, а не в начале index.php?
В начале index.php тоже самое - array(0) { }
Хотя не совсем в начале: index.php содержит:
PHP:
ob_start("ob_gzhandler", 9);
ini_set("output_buffering", true);
ob_start();
ini_set("session.use_trans_sid", true);
session_start();
ini_set("mysql.connect_timeout",80);
ini_set("max_execution_time",80);
ini_set("max_input_time",80);
var_dump($_POST);
require_once("controller.php");
require_once("template.htm");
так - выдает array(0) { }

а так:

PHP:
var_dump($_POST);
ob_start("ob_gzhandler", 9);
ini_set("output_buffering", true);
ob_start();
ini_set("session.use_trans_sid", true);
session_start();
ini_set("mysql.connect_timeout",80);
ini_set("max_execution_time",80);
ini_set("max_input_time",80);
require_once("controller.php");
require_once("template.htm");
так - вообще виснет с самаого начала. Но это уже не важно. Факт, что $_POST - пуст
 

CHEM_Eugene

Новичок
Автор оригинала: dimagolov
CHEM_Eugene, код формы покажи
код такой:

<form action="action= http://<?=$_SERVER['HTTP_HOST']?>/news/modify.template/Describe/<?=$value['nid']?>" method="post">
...
текстовый редактор,
inputu и т.д.
...
<input name="Modify" type="submit" value="Сохранить изменения">
</form>

Реврайт действительно происходит и получается URL:
http://abc.cms/index.php?module=news&page=modify&Describe=on&n=5

но вот $_POST пуст. Зато если в action забить последний (т.е. уже переписанный) путь, то все работает.
Мне кажется, что проблема в том, что переменные не передаются в путь типа:
news/modify.template/Describe/5 потому, что обработчик не указан.
Зато когда сразу index.php?module=news&page=modify&Describe=on&n=5 - все нормально.

Хотелось бы выяснить так это на самом деле как я думаю или нет
 

dimagolov

Новичок
Автор оригинала: CHEM_Eugene
Мне кажется, что проблема в том, что переменные не передаются в путь типа:
news/modify.template/Describe/5 потому, что обработчик не указан.
Что мешает посмотреть отправляемый запрос на предмет наличия или отсутствия post данных?
 

JIEXA

Новичок
Да, попробуйте action="action=
заменить на action="do=

у вас в URL есть ещё какие-нить перменные? если нету, то тогда надо action="?do=

Также проверьте, нет ли у вас редиректов.
 

CHEM_Eugene

Новичок
Автор оригинала: dimagolov
Что мешает посмотреть отправляемый запрос на предмет наличия или отсутствия post данных?
Данные отправляются, всё как обычно и даже приходят если указать index.php?параметры,
а если:
news/modify.template/Descreibe/5,

что превращается после реврайта в:

index.php?module=news&page=modify&Describe=on&n=5
тогда данные пропадают
 

dimagolov

Новичок
CHEM_Eugene, атрибут action формы менять адекватно спецификации не пробывал?
 

CHEM_Eugene

Новичок
Автор оригинала: dimagolov
CHEM_Eugene, атрибут action формы менять адекватно спецификации не пробывал?
я конечно могу и в спецификацию слазить, но если можно, поподробнее. Был бы очень благодарен.
action="index.php" - так?
 
Сверху