Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > ошибка передачи данных


Автор: DeamonShan 22.1.2008, 13:09
Код



$repStr.="<form action=\"server.php\" method=get><table width=100%>";
while (preg_match ("(\[(\d*)_(\d*)_(\d*)\])",$acCes,$out)){
  $res=$db->sql_query("select * from price where id='".$out[1]."'");
  $str=$db->sql_fetchrow($res);

 if($str['photo1']){
  if(eregi("http",$str['photo1']) || eregi("www",$str['photo1'])){
   $foto="<img src=\"".$str['photo1']."\" border=\"0\" width=\"80\">";
  }else{
     цвуввв
  }
 }
$select="<select name=sel[]>";
for($i=0; $i<=$out[3]; $i++){
 if($i==$out[2])$selected=" selected";
 $select.="<option value=".$i.$selected.">".$i."</optoin>";
 $selected="";
}
$select.="</select>";
   $repStr.="<tr><td align=\"center\">$foto</td><td width=100%><a href=\"detail_".$str['id'].".htm\" style=\"font:12px arial;color:#4e5172;text-decoration:none\">".$str['name']."</a></td><td>$select<input type=hidden name=rasId[] value=\"\"></td><td><font color=\"red\" size=2>".$str['price']*$UsdRate."&nbsp;ðóá</font><br>".$str['price']."&nbsp;y.e.</td></tr>";
   $repStr.="<tr><td width=\"1\" background=\"img/line_01.gif\" colspan=\"4\"><img src=\"img/line_01.gif\" width=\"1\"></td></tr>";


  //$repStr="<table><tr><td>$foto</td><td><a href=\"detail_".$str['id'].".htm\" style=\"color:#437fb3; font-weight:bold\" target=_blank>".$str['model']."</a><br>".$str['name']."</td></tr></table>";

  $acCes = str_replace($out[0], $repStr, $acCes);
}
$repStr.="<tr><td colspan=4 align=center><inpur type=hidden name=page value=raschet><inpur type=hidden name=act value=do><inpur type=hidden name=det value=$det><input type=submit value=\"Ïîñ÷èòàòü\"></td></tr></table></form>";



вот такая форма создается...

после нажатия кнопки пересчитать, в адресной строке появляется URL:

Код

server.php?page=detail&sel%5B%5D=1&rasId%5B%5D=&sel%5B%5D=3&rasId%5B%5D=&sel%5B%5D=1&rasId%5B%5D=&sel%5B%5D=0&rasId%5B%5D=&sel%5B%5D=1&rasId%5B%5D=&sel%5B%5D=0&rasId%5B%5D=


вместо page=raschet пишет page=detail и остальные параметры не совсем те что передаются.. помогите разобраться в чем дело плииз)

Автор: GeneralElectric 22.1.2008, 13:25
Я думаю, что с вопросами такого рода надо постить HTML код формы, а не PHP код, её формирующий. В уме интерпретировать PHP не очень удобно. 

Автор: DeamonShan 22.1.2008, 13:32
Код

<form action="server.php" method=get>
<table width=100%>
<tr>

<td align="center"><img src="/models/xeon54xx-mini.JPG" align="left" border="0" width="70"></td>

<td width=100%><a href="detail_12928.htm" style="font:12px arial;color:#4e5172;text-decoration:none">Процессор Intel XEON E5410 BOX BX80574E5410A 2.33Ghz/1333/2x6M, LGA-771 (Quad Core, 12 Мб кэш-памяти L2, 2,33 ГГц, FSB 1333 МГц, TDP 80 Вт)</a></td>

<td><select name=sel[]><option value=0>0</optoin><option value=1 selected>1</optoin><option value=2>2</optoin></select><input type=hidden name=rasId[] value=""></td>

<td><font color="red" size=2>9169&nbsp;руб</font><br>346.00&nbsp;y.e.</td>
</tr><tr>

<td width="1" background="img/line_01.gif" colspan="4"><img src="img/line_01.gif" width="1"></td></tr><tr><td align="center"><img src="/models/KVR667D2D8F51Gmin.jpg" align="left" border="0" width="70"></td>

<td width=100%><a href="detail_11645.htm" style="font:12px arial;color:#4e5172;text-decoration:none">Kingston DDR2 FB DIMM 1GB 667 5300 ECC Ful Dual[KVR667D2D8F5/1G]1GB 667MHz DDR2 ECC Fully Buffered CL5 DIMM Dual Rank, x8</a></td>

<td><select name=sel[]><option value=0>0</optoin><option value=1>1</optoin><option value=2 selected>2</optoin><option value=3>3</optoin><option value=4>4</optoin><option value=5>5</optoin><option value=6>6</optoin><option value=7>7</optoin><option value=8>8</optoin></select><input type=hidden name=rasId[] value=""></td>

<td><font color="red" size=2>2517.5&nbsp;руб</font><br>95.00&nbsp;y.e.</td></tr><tr><td width="1" background="img/line_01.gif" colspan="4"><img src="img/line_01.gif" width="1"></td>

</tr>
<tr><td colspan=4 align=center><inpur type=hidden name=page value=raschet><inpur type=hidden name=act value=do><inpur type=hidden name=det value=13090><input type=submit value="Посчитать"></td>

</tr></table></form>


вот возвращаемый код....

Автор: GeneralElectric 22.1.2008, 13:39
ты что-то путаешь. у меня в адресной строке появляется URL совсем не такой, как ты написал - попробуй сам.

Автор: DeamonShan 22.1.2008, 13:55
Да, если взять эту форму и сохранить в хтмл файл работает как надо...  а в скрипте, когда он генериться , урл совсем дркгой... тот что в теме...

Автор: GeneralElectric 22.1.2008, 14:02
DeamonShan, у меня НЕ работает, как надо.
покажи, какую строку тебе показывает в урл после отправки формы

Автор: DeamonShan 22.1.2008, 14:17
Код

server.php?sel%5B%5D=1&rasId%5B%5D=&sel%5B%5D=2&rasId%5B%5D=


вот строка... и в прям не прально... 


параметры скрытых полей не отправляются... и ваще строка непрально формируется как-то...

Автор: GeneralElectric 22.1.2008, 14:18
Отлично. Поле page не передается. Почему бы не обратить пристальное внимание на тег, в котором оно прописано?

Автор: DeamonShan 22.1.2008, 14:22
такой позор мне))))))))))))



GeneralElectric, 

Спасибо тебе огромное)))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)