$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 не возвращает ошибку, и в связи с этим не отправляются данные?
И как ты проверяешь, что данных и вправду нет?
К тому же ты уверен, что у тебя 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 написал(а):
Выводил входящий массив через
и
Приходит пустота...( Значит дело нее в скрипте. Буду ковырять Delphi. Всем спасибо!
P.S. По поводу PostData...Естесственно, проверил первым делом выводом PostData перед отправкой. StringList заполняется как надо. Я пробовал писать в PostData не переменные, а просто строки типа 'user=123', но это тоже бесполезно. Буду думать.
echo '<pre>'.print_r( $_POST, true).'</pre>';
и
echo '<pre>'.print_r($_REQUEST,1).'</pre>';
Приходит пустота...( Значит дело нее в скрипте. Буду ковырять Delphi. Всем спасибо!
P.S. По поводу PostData...Естесственно, проверил первым делом выводом PostData перед отправкой. StringList заполняется как надо. Я пробовал писать в PostData не переменные, а просто строки типа 'user=123', но это тоже бесполезно. Буду думать.