Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

Каков формат 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
1-1189005868
andreoman
2007-09-05 19:24
2007.11.25
доступ из подчененной формы к полю формы-создателя


15-1192464844
oxffff
2007-10-15 20:14
2007.11.25
Yield средствами Delphi. За и против.


2-1193925089
Darvin
2007-11-01 16:51
2007.11.25
Скроллинг в DrawGrid


15-1193133796
xayam
2007-10-23 14:03
2007.11.25
php и xml


15-1192876882
SerJaNT
2007-10-20 14:41
2007.11.25
Опять HTML