Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.12.2011, 02:17   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
Восклицание Отправка на php скрипт строки с переходами, ввиде параметра

Доброго времени суток!


Имеется php скрипт, на который идут параметры, и есть параметр Descripion в который загоняется описание.

В Memo юзер вводит текст и соответственно тыкает Enter => строка с переходами.


И получается что я скармлю скрипту не
ааааааббббб

а ааааа
ббббб



Если так отправлять строку с переходами, то сервер вернёт код 400 (Bad Request).

Если засунуть её в "" то тоже 400(с чем проблема, со мной или с php?).

как послать строку с переходами на веб-скрипт?

Всю голову сломал...

Последний раз редактировалось Человек_Борща; 09.12.2011 в 02:28.
Человек_Борща вне форума Ответить с цитированием
Старый 09.12.2011, 02:25   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

так же как и русским текстом, URLEncode.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.12.2011, 10:15   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

Нет не помогает.
Мне нужно отправить текст в UTF-8 кодировке. И не простотекст, а многострочный текст.

Код:
procedure TWorkThread.Execute;
const
  Server_REQ =
    'age=%s&nickname=%s&sex=%d&breed=%s&contact_phone=%s&contact_name=%s&description=%s';
var
  s: string;
  sURL: string;
  SendStr: RawByteString;
  http: THTTPSend; //Synapce
begin
  http := THTTPSend.Create;
  try
    s := Format(Server_REQ, [fAnimalAge, fAnimalNick, fAnimalSex, fAnimalBreed,
      fAnimalOwnerTelephone, fAnimalOwnerName, fAnimalDescription]);
     sURL:=UTF8Encode(s);
     SendStr:=EncodeURL(sURL);
    http.HTTPMethod('post', 'http://******.ru/index.php?' + SendStr);
    ShowMessage('HTTP RESULT = ' + IntToStr(http.ResultCode));
  finally
    FreeAndNil(http);
  end;
end;
Если я отправляю RawByteString(после UTF8Encode) то на сайте русский текст отображается нормально.

Если я до или после перекодировки с помощью EncodeURL отправлю текст, то он придёт ввиде
������
������
Человек_Борща вне форума Ответить с цитированием
Старый 09.12.2011, 10:27   #4
Mifody
Форумчанин
 
Регистрация: 12.02.2009
Сообщений: 215
По умолчанию

эээ, я правильно понял, ВСЮ строку прогоняеш через EncodeURL? Нафига?
По моему, надо функцию применять к занчениям отправляемых переменных (к примеру, к тексту описания)
Я всегда делаю так (Delphi 7 + Synapse)
Код:
params := age=EncodeUrlElement(AnsiToUTF8(str1))&nickname=EncodeUrlElement(AnsiToUTF8(str2))&sex=EncodeUrlElement(AnsiToUTF8(str3))
UPD: Сори, только сейчас увидел, у тебя тож синапс. Попробуй пользовать функцию EncodeUrlElement (вроде как так пишется) и кодируй сам парамерт а не все строку, а то он заэкранирует апостроф
Помог с вопросом - тыркаем в весы, Вам не сложно, а мне приятно
Mifody вне форума Ответить с цитированием
Старый 09.12.2011, 10:50   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
(после UTF8Encode)
естественно после нее надо применять URLEncode, это если GET запрос, в POST помоему иначе(надо снифером смотреть)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.12.2011, 11:43   #6
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

шо смотреть то?

Использую пакет синапсов. Запрос POST, в парамтре к php надо передать многострочный текст в utf кодировке

зы забыл сказать что на xe2 пишу.
Человек_Борща вне форума Ответить с цитированием
Старый 09.12.2011, 18:37   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

помогли оба =)
EncodeUrlElement(UT8Encode('SUBJECT '));
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка электронной почты скрипт maksim1995 JavaScript, Ajax 6 11.02.2011 13:00
Выбор строки из заданного параметра Antoha21 Microsoft Office Excel 3 24.07.2009 12:21
Отправка файла POST-запросом на PHP-скрипт... ActiveX Работа с сетью в Delphi 7 20.07.2009 16:54
Передача строки-как параметра-переменной Иллидан Общие вопросы Delphi 13 03.10.2008 18:40
отправка данных на php скрипт papa_serg Работа с сетью в Delphi 2 10.04.2008 10:56