|
Массивы и POST
|
|||
---|---|---|---|
#18+
Мааленькая проблемка. Как корректно передать массив из формы (генерирую) в следующий скрипт и потом корректно обработать? Пробовал: 1. Cоздаю массив strings[0], strings[1], strings[2]... и т.д. посредством тега <select>. 2. Если передаю запрос методом get, получаю такую строчку: .php?strings%5B0%5D=значение&strings%5B1%5D=значение&strings%5B2%5D=значение... и т.д. то есть, происходит преобразование скобок [] в спецсимволы. Неужели нельзя это обойти? Или он сам потом преобразует спецсимволы в скобочки? Скрипт в студию: function specadd() {global $firm,$title,$razdel,$strings; require("../config.php"); $file=file($_FILES['price']['tmp_name']); $number=0; echo "<form name=\"form1\" method=\"post\" action=\"\">"; for($i=0,$flag="0"; $i<count($file); $i++) { $data=explode(" ",$file[$i],2); $title=RawUrlEncode(Addslashes($data[0])); $cost=str_replace(" ","",$data[1]); if ($cost==""||$cost==" "||!floatval($cost)) { echo "<font size=\"2\" face=\"Verdana\"><b>".$data[0]." ".$data[1]."</font></b><br>"; for($j=1;$j<4;$j++) { //Berem eshe 5 positsii. $data2=explode(" ",$file[$j+$i],2); echo "<font size=\"1\" face=\"Verdana\">".$data2[0]."<br></font>"; } echo "<br>"; $flagADD=0; $result=mysql_query("SELECT * FROM TOPadd WHERE firm='{$firm}'"); while ($row=mysql_fetch_array($result)) { if ($row["title"]==$data[0]) { $strings[$number]=$row["razdel"]; echo "<input type=\"hidden\" name=\"{$strings['$number']}\" value=\"{$row["razdel"]}\">"; $flagADD=1; } } if ($flagADD!=1) { echo "<select name=\"strings['{$number}']\">"; echo "<option value=\"keep\">=====??????? ????????=====</option>"; echo "<option value=\"del\">=====?? ??????? ? ????====</option>"; $result=mysql_query("SELECT * FROM TOPrazdels"); while ($row=mysql_fetch_array($result)) { echo "<option value=\"{$row["id"]}\">{$row["title"]}</option>"; } echo "</select> "; } $number++; } } echo "<br><br><input type=\"submit\" name=\"addsubmit\" value=\"?????????!\">"; echo "</form>"; } ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2004, 10:23 |
|
Массивы и POST
|
|||
---|---|---|---|
#18+
так с твоим кодом разбираться мне лень. Отлаживай его сам. Но результирующий ХТМЛ код должен быть примерно таким: Код: plaintext 1. 2. 3.
если поле ХТМЛ-форма будет выглядеть так, то все должно передаваться правильно. При отладке смотри не внешний вид формы а какой ХТМЛ она генерирует ( View Source или просмотр HTML-кода в контекстном меню) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2004, 14:28 |
|
Массивы и POST
|
|||
---|---|---|---|
#18+
Уже разобрался. Когда делаешь постом, всё приходит нормально, массивом. Так что паника была напрасной. Кроме того, ставить апострофы в выражениях типа var[number] не нужно, без них работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.02.2004, 17:36 |
|
Массивы и POST
|
|||
---|---|---|---|
#18+
> Кроме того, ставить апострофы в выражениях типа var[number] не нужно, без них работает. ставить апострофы (или кавычки) нужно. Читай здесь раздел Why is $foo[bar] wrong? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2004, 15:21 |
|
|
start [/forum/topic.php?fid=23&fpage=518&tid=1480048]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
2ms |
others: | 266ms |
total: | 375ms |
0 / 0 |