[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP + Delphi
Demonuka
Есть 2 PHP скрипта, в которые я передаю параметры из Delphi. В первом скрипте:

$user=htmlspecialchars($_POST["user"]);
$J_sobyt=htmlspecialchars($_POST["J_sobyt"]);
$J_TU=htmlspecialchars($_POST["J_TU"]);

Во втором скрипте:

$user=htmlspecialchars($_POST["user"]);
$opis=htmlspecialchars($_POST["opis"]);
$size=htmlspecialchars($_POST["size"]);

На Delphi код

PostData := TStringList.Create;
PostData.Add('user=' + CheckListBox1.Items.Strings[i]);
PostData.Add('J_sobyt=' + BoolToStr(sCheckBox2.Checked));
PostData.Add('J_TU=' + BoolToStr(sCheckBox3.Checked));
IdHTTP1.Post(URLs + '/question.php', PostData);

и

PostData := TStringList.Create;
PostData.Add('user=' + CheckListBox1.Items.Strings[i]);
PostData.Add('opis=' + opis);
PostData.Add('size=' + size);
IdHTTP1.Post(URLs + '/question.php', PostData);

соответственно. То есть вроде как все абсолютно аналогично и параметры вроде нужные. Но в первом случае в PHP скрипт параметры приходят, а во втором нет! Может ли быть проблема в кодировке? Если да, то как ее изменить в скрипте?



Спустя 1 минута, 29 секунд (7.09.2012 - 09:09) Demonuka написал(а):
Во втором коде на Delphi

IdHTTP1.Post(URLs + '/question2.php', PostData);

Сюда просто не то скопировал.

Спустя 8 минут, 48 секунд (7.09.2012 - 09:18) Demonuka написал(а):
Сделал к скриптам формы на html, в оба параметры приходят нормально.

Спустя 5 минут, 47 секунд (7.09.2012 - 09:24) inpost написал(а):
Для определения проблем с кодировкой надо передавать английский текст. Если работает, то дело в кодировке.
К тому же ты уверен, что у тебя opis, size не возвращает ошибку, и в связи с этим не отправляются данные?
И как ты проверяешь, что данных и вправду нет?

Спустя 12 минут, 46 секунд (7.09.2012 - 09:37) Demonuka написал(а):
Пробовал передавать русский текст, латиницу, числа - результат одинаковый. Первый работает, второй - нет. PostData в обоих случаях заполняется правильно (вывожу ее перед отправкой на экран). Проверяю прием данных через echo. В скриптах после приема параметров прописано

echo $user.'1'.$opis.'1'.$size.'1'
и

echo $user.'1'.$J_sobyt.'1'.$J_TU.'1'

соответственно.

Спустя 7 минут, 51 секунда (7.09.2012 - 09:44) Demonuka написал(а):
Вспомнил еще вот что. Оба скрипта писались в блокноте. Рабочий скрипт (и код в Delphi) писался в Windows XP, а не рабочий (и код в Delphi) в Windows 7. Может поможет понять причину.

Спустя 22 минуты, 24 секунды (7.09.2012 - 10:07) inpost написал(а):
Вывести пришедший массив:
echo '<pre>'.print_r($_REQUEST,1).'</pre>';

Тут вопрос из того, почему твой скрипт на Делфи не отправляет запрос.

Спустя 3 часа, 24 минуты, 52 секунды (7.09.2012 - 13:32) sergeiss написал(а):
Цитата (Demonuka @ 7.09.2012 - 10:37)
echo $user.'1'.$opis.'1'.$size.'1'

Ты проверяешь не принятые параметры, а уже после твоей обработки. Более правильно для проверки принятых данных будет написать
echo '<pre>'.print_r( $_POST, true).'</pre>';


Затем смотри сюда, у тебя есть 2 разных кода:
Цитата (Demonuka @ 7.09.2012 - 10:08)
PostData.Add('J_sobyt=' + BoolToStr(sCheckBox2.Checked));
PostData.Add('J_TU=' + BoolToStr(sCheckBox3.Checked));

Цитата (Demonuka @ 7.09.2012 - 10:08)
PostData.Add('opis=' + opis);
PostData.Add('size=' + size);

В первом случае (рабочем) ты берешь данные для отправки откуда-то из элементов формы, во втором - из переменных. Они у тебя точно определены, в них точно есть данные? Ты делал проверку в Дельфи, что там хоть что-то есть, в этих переменных?

Спустя 2 дня, 18 часов, 37 минут, 43 секунды (10.09.2012 - 08:09) Demonuka написал(а):
Выводил входящий массив через

echo '<pre>'.print_r( $_POST, true).'</pre>';

и

echo '<pre>'.print_r($_REQUEST,1).'</pre>';

Приходит пустота...( Значит дело нее в скрипте. Буду ковырять Delphi. Всем спасибо!
P.S. По поводу PostData...Естесственно, проверил первым делом выводом PostData перед отправкой. StringList заполняется как надо. Я пробовал писать в PostData не переменные, а просто строки типа 'user=123', но это тоже бесполезно. Буду думать.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.