PDA

Просмотр полной версии : Отправка формы. Не отрабатывает POST.


Ведьмак
11.04.2008, 20:13
Доброго времени суток, уважаемые.. Есть форма, ее нужно отправить

var s_and_l_obj:LoadVars = new LoadVars();
s_and_l_obj.sender_name = name_ti.text;
s_and_l_obj.sender_mail = mail_ti.text;
s_and_l_obj.letter_text = ta.text;
s_and_l_obj.sendAndLoad("feedback.php",rec_obj,"POST");
errors_field.textColor = 0x02b6ea;
errors_field.text = "Отправка..";


Если пишем POST приходит пустой маасив, если GET, то передает нормально.. Почему? Как заставить работать POST?

iNils
11.04.2008, 20:17
А код без лишний табуляции никак нельзя было написать?

А если вообще убрать третий параметр?

Ведьмак
11.04.2008, 20:24
сорри.. можно было - глаза замылены уже..

тоже пусто.. попробовал примеры из хэлпа - то же POST не проходит...

iNils
11.04.2008, 20:31
А код php какой?

Ведьмак
11.04.2008, 20:38
<?
header("Content-type: " . "text/xml; charset=utf-8");
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

echo "<!-- get: ";
var_export($_GET);
echo ", post: ";
var_export($_POST);
echo " -->";

if (!isset($_POST['message'])) {
echo "<response code=\"500\">Какая-то ошибка</response>";
} else {
echo "<response code=\"200\">Ваше сообщение отправлено</response>";
}
?>

назад я получаю XML от сервера... кстати, она приходит в любом случае )

iNils
11.04.2008, 20:52
Код рабочий.
Кстати, а "массив" это у вас что?

Ведьмак
11.04.2008, 20:56
неважно))) это я так выразился) вроде это называют - хэш.. я довольно далек от SSL..

а что тогда может быть не так?

iNils
11.04.2008, 21:10
Эээ. Вообще, должно быть одно echo, а не 125. Сформируйте строку, а потом отправляйте.
И покажите, что вам возвращает такой код
var lv:LoadVars = new LoadVars ();
var lv2:LoadVars = new LoadVars ();
lv.sender_name = "1";
lv.sender_mail = "2";
lv.message = "3";
lv2.onLoad = function () {
txt.text = unescape (this);
};
lv.sendAndLoad ("feedback.php", lv2, "POST");

Ведьмак
11.04.2008, 21:14
Во первых нашел у себя одно ошибку - у меня поле названо "letter_text", а в скрипте "message"...

В текстовом поле и при GET и при POST
array (
'message' => '3',
'sender_mail' => '2',
'sender_name' => '1',
) --><response code="200">xxx</response>&onLoad=[type Function]

т.е. все ок... вот только почему-то FireBug, которому я привык доверять и который мне показывал запросы и ответы, и их результаты при POST показывает

<!-- get: array (), post: array () -->
<response code="500">xxx</response>

а при GET все нормально...

Значит все передавалось... СПАСИБО.. )