Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];

Вниз

Каков формат POST запроса?   Найти похожие ветки 

 
vegarulez ©   (2007-11-01 18:00) [0]

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

У меня вопрос такого характера, есть демка (c:\Program Files\Borland\Delphi6\Demos\Indy\HTTPClient\)
так вот там есть поле для ввода POST аргументов.

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

[У меня допустим используются несколько переменных: choose,Naz, Cena, kol и т.п. (внизу приведу пример пхп скрипта там можно увидеть остальные)]

чтобы при обращении этой демки к файлу find.php - файл find.php выводил в демку html код таблички с найдёнными элементами, т.е. уже с теми данными которые, выбрались из БД, как будто бы переменные [choose,Naz, Cena, kol и т.п. ] были получены из браузера с помощью POST`а.

Ещё раз повторю вопрос:
Вопрос как правильно в поле POST`a, в демке вбить переменные, и их значения?

пример php скрипта :

<html>
<head>
<title>Поиск дисков</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" >
</head>
<body background="http://localhost/1/skin.jpg" BGCOLOR=white>

<?php   include "head.html" ?>
<?php
   error_reporting(0);
    $Naz=$_POST["Naz"];
    $Cena=$_POST["Cena"];
    $Kol=$_POST["Kol"];
    $styl=$_POST["styl"];
    $format=$_POST["format"];
    @ $db=mysql_pconnect("localhost","paywell","paywell");
    mysql_select_db("user120");    
   If ($choose!=0)
   {
    if ($choose==1)
     $query = "SELECT * FROM diski WHERE diski.name LIKE "%".$Naz."%";";
    if ($choose==2)            
     $query = "SELECT * FROM `diski` WHERE diski.format="".$format."";";
    if ($choose==3)
     $query = "SELECT diski.id,diski.name,diski.presence,diski.price,diski.style,diski.format FROM diski where diski.style like "".$styl."";";
    if ($choose==4)
     $query = "SELECT diski.id,diski.name,diski.presence,diski.price,diski.style,diski.format FROM diski where diski.id=".$Cena.";";
    if ($choose==5)
     $query = "SELECT diski.id,diski.name,diski.presence,diski.price,diski.style,diski.format FROM diski where diski.presence>"".$Kol."";";
    $result = mysql_query($query);
    $num_results = mysql_num_rows($result);    ?>
<br>
<table align=center width=100% border=1>
<tr>
 <td align=center bgcolor= #C0C0C0>ID</td>
 <td align=center bgcolor= #C0C0C0>Название</td>
 <td align=center bgcolor= #C0C0C0>Наличие</td>
 <td align=center bgcolor= #C0C0C0>Цена</td>
 <td align=center bgcolor= #C0C0C0>Стиль</td>
 <td align=center bgcolor= #C0C0C0>Формат</td>
  </tr>
<?php    for($i=0;$i<$num_results;$i++)            
    {
         $row=mysql_fetch_array($result);      ?>

<tr>
 <td align=center>
<?php    echo $row[0];              ?>
 </td>
 <td align=center>
<?php    echo $row[1];              ?>
 </td>
 <td align=center>
<?php    echo $row[2];              ?>
 </td>
 <td align=center>
<?php    echo $row[3];              ?>
 </td>
 <td align=center>
<?php    echo $row[4];              ?>
 </td>
 <td align=center>
<?php    echo $row[5];              ?>
 </td>
 </tr>
<?php    }
   }              
   else
   {           ?>
<FORM NAME="Добавление" METHOD="POST" ACTION="find.php">
<br><font size=4>
Найти данные о дисках по:
<table border=2>
   <tr>
  <td align=left><input checked type=radio name=choose value=1><font size="4">  Названию</td>
  <td> <INPUT TYPE=TEXT SIZE=20 NAME=Naz value=""></td></tr>
 
   <tr>
  <td align=left><input type=radio name=choose value=2> <font size="4"> Формату </td>
<td>
<?php   echo "<select name=format>";
  $form_cd=array("cd","dvd","cd+dvd");
 $j=-1;
 while (++$j<count($form_cd)){
  echo"<option value="".$form_cd[$j]."">".$form_cd[$j];
 }                          
   echo "</select>"                ?>

  </td>
 </tr>
     
 <tr>
 <td align=left><input type=radio name=choose value=3> <font size="4">Стилю</td>
<td>
<?php   echo "<select name=styl>";
$style_cd=array("Disco","Rap","House","Jaz","Techno","Rock","Classic","Pop","Blu es","Rock-n-Roll");
   $n=count($style_cd);
   $i=0;
   for ($i=0;$i<$n;$i++){
  echo "<option value="".$style_cd[$i]."">".$style_cd[$i];
  }
    echo "</select>"                  ?>
     
  </td>
 </tr>
 
 <tr>
<td align=left><input type=radio name=choose value=4><font size="4">Цене </td>
  <td>
   <select name=Cena>
<?php
     $query = "SELECT id,price FROM diski Order by `price`";
     $result = mysql_query($query);            
     $num_results = mysql_num_rows($result);
     for($i=0;$i<$num_results;$i++)
     {
      $row=mysql_fetch_array($result);        
      echo "<option value="".$row[0].""> ".$row[1];
     }                         ?>
   </select>
  </td>
 </tr>
 <tr>
  <td align=left><input type=radio name=choose value=5> <font size="4">Наличию на складе > </td>
  <td><INPUT TYPE=TEXT SIZE=5 NAME=Kol value="0"></td>
 </tr>
</table>
<p>
 <INPUT TYPE="SUBMIT" VALUE="Найти">
 <INPUT TYPE="RESET" VALUE="Очистить">
</p>
</form>
<?php   }           ?>


 
Palladin ©   (2007-11-01 18:46) [1]

<TIdHTTP>.ContentType:="application/x-www-form-urlencoded";

сделал?


 
vegarulez ©   (2007-11-01 18:49) [2]

неа не сделал ещё...
так я же не про контент тайп спрашиваю...
Там в демке есть поле: Post information, я так понимаю туда нужно пост параметры помещать... Но в каком формате я не знаю :(


 
Palladin ©   (2007-11-01 18:59) [3]

да самым обычным

a=b&c=d
и тд и тп


 
vegarulez ©   (2007-11-01 19:06) [4]

чот поробовал не получается :(
Сможешь в аську стукнуть?
250921382


 
Palladin ©   (2007-11-01 19:09) [5]

ну например

Var
l:TStringList;
r:String;
Begin
l:=TStringList.Create;
Try
 l.Text:="a=b&c=d";
 <TIdHTTP>.ContentType:="application/x-www-form-urlencoded";
 r:=<TIdHTTP>.Post(<Url>,l);
Finally
 l.Free;
End;
End


 
vegarulez ©   (2007-11-01 19:27) [6]

а... всё понял свою ошибку кажись...
дело в скрипте find.php


 
vegarulez ©   (2007-11-01 19:33) [7]

Спасибо большое!


 
vegarulez ©   (2007-11-01 20:16) [8]

Млин ерунда какая-то... в проге всё номано работает тепрь, а в браузере не хотит номано пахать... ничего не понимаю...


 
vegarulez ©   (2007-11-01 20:22) [9]

в браузере строка http://localhost/lab4/find.php?choose=4&Cena=100
не хотит выводить то что надо ... ничего не понимаю...
уже переделал скрипт поправил косяки и прога номано заработала, а вот браузер тупит... [или я туплю (нужное подчеркнуть) ]


 
vegarulez ©   (2007-11-01 20:23) [10]

Подскажите где тут собака порылась???...


 
vegarulez ©   (2007-11-01 21:19) [11]

Всё. Всем спасибо. Разобрался. (передаю строку в формате GET а пытаюсь разобрать POST`ом).
Тока странно почему всё же делфя тогда передаёт в формате GET`a данные для POST`а   и они успешно разбираются скриптом...
Кто нить может на этот вопрос ответить?
(З.ы. Браузер, как мы видим выше не смог :)) )



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.052 c
2-1193990269
kyn66
2007-11-02 10:57
2007.11.25
TDateEdit глючит?


3-1184361774
Anar
2007-07-14 01:22
2007.11.25
Как в DBGrid задать цвет конкретной строке?


11-1177917769
Dmitry___
2007-04-30 11:22
2007.11.25
Передать PControl в процедуру dll


6-1174653783
Korefey
2007-03-23 15:43
2007.11.25
Работа с FTP сервером.


3-1184003913
IMHO
2007-07-09 21:58
2007.11.25
SQLite 3





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский