Как очистить массив $_POST?

Ashotovich

Новичок
Как очистить массив $_POST?

Собственно, сабж.

Если есть возможность удалить из этого массива конкретное значение переменной, то еще лучше.

Заранее благодарю за помощь.
 

Ashotovich

Новичок
У меня следующая картина.
Есть два выпадающих списка <select>. В первом - столбец таблицы из БД. По значению первого столбца фильтруется содержание второго - тоже из БД. Например:

В певом списке пункты: "а", "б".
Если я, допустим, выбираю, "а", то вся форма (содержит оба списка) обновляется, а во втором списке перечень пунктов фильтруется по значению, выбранному в первом списке, то есть по "а". Допустим, что "а" во второй таблице (из которой идет выборка во втором списке) соответствуют некоторые значения. Ну так вот, во втором списке, соответсвенно, появляются только они.
Но если я решу изменить значение в первом списке на "б", то в окошке второго списка значение, соответсвующее "а" не стирается (используется <option selected>). А оно как раз берется из массива $_POST.
 

Demiurg

Guest
у тебя есть скрипт, который рисует форму с двумя select.
Если ему не приходит ниодна их переменных, то ты рисуешь оба селекта как есть (все записи из базы.).
Если ему пришла только первая переменная, то ты рисуешь опять же первый селект как есть, и отмечаешь в нем нужнай пункт а второй рисуешь отфильтрованый.
Если пришли обе переменные, делаешь что то еще, что тебе надо.
$_POST - он на один на каждый запрос, и что было в прошлый раз он не помнит.
 

Ashotovich

Новичок
Мде... Как это ни грустно, но очистка массива не помогла. Я использую строки:

$var2=$_POST['SelectFromList1'];
print "<option selected>".$var2."</option>\n";


Так вот, даже после unset($_POST) в списке все равно печатается старое значение. А хотелось бы очистить окно списка (не сам список, а только значение, показываемое в его окошке).
 

WMix

герр M:)ller
Партнер клуба
$var2=&$_POST['SelectFromList1'];
unset($var);
print "<option selected>".$var2."</option>\n";
а так_?
 

Ashotovich

Новичок
В общем, я понял суть проблемы. Но не знаю как ее решить.
У меня используется следующие строки (второй выпадающий список):

<select name="SelectFromList1" onchange="document.TestList.submit()">
$var2=$_POST['SelectFromList1'];
print "<option selected>".$var2."</option>\n";


Так вот, когда я меняю данные в певом списке, данные во втором меняются. Но! Выбранное в предыдущий раз значение $_POST['SelectFromList1'] не изменяется автоматически, так как действие onchange не происходит. Видимо, это действие предполгает ручное изменение переменной во втором списке. А есть ли возможность изменять значение select "без рук"?
 

Eugene Bond

sudo rm - rf /
Ashotovich:
Если списки не большие - делай это ЖабаСкриптом на стороне клиента. И перегружать ничего не придется - раз загрузил и все.
 

Demiurg

Guest
Ashotovich, разберись, что работает на сервере, а что на клиенте.

[f]na_tanke[/f]
 

Ashotovich

Новичок
Автор оригинала: Demiurg
Ashotovich, разберись, что работает на сервере, а что на клиенте.

[f]na_tanke[/f]
Спасибо. Но вроде все это я учел. Возможно, задача сводится чуть ли не к получению булевой переменной "изменялся/не изменялся список автоматически"... Мде.
 

Demiurg

Guest
что значит "список изменился автоматически" ?
 

Ashotovich

Новичок
Это значит, что я его не менял вручную. То есть при изменении переменной в первом списке автоматически перестраивается второй. Безусловно, есть качественное различие между изменением (перестройкой) списка и ручным выбором переменной из этого же списка. Но все равно - изменение в объекте select происходят. Как бы их отследить?
 

Demiurg

Guest
как это не менял его в ручную ? а кто его поменял ? Как только ты что то изменяешь в списке, шлеться новый запрос серверу и скрипт выполняется занова.
 

Ashotovich

Новичок
Еще проще: если я вручную изменяю переменную в списке, то происходит то самое onchange="document.TestList.submit(). А если весь список перестраивается, onchange="document.TestList.submit() не происходит. Типа "ничего не изменилось". Ничего себе не изменилось... Весь список перестроился же! :)
 

Ashotovich

Новичок
Дык ведь список перестраивается автоматически - просто идет другая выборка из БД. А объект select это за onchange не считает... :-\
 

Ashotovich

Новичок
Автор оригинала: Eugene Bond
Ashotovich:
Если списки не большие - делай это ЖабаСкриптом на стороне клиента. И перегружать ничего не придется - раз загрузил и все.
В том-то и дело, что списки жыыырные. А каналы у пользователей будут узкие. Так что я пытаюсь минимизировать это все множественными выборками.
 

Demiurg

Guest
php делает выборку из базы, потом строит html(может быть с яваскриптом), потом отдает его браузеру. Все, на этом его работа заканчивается. Потом, если что то нужно еще браузер шлет новый запрос,пхп его снова обрабатывает, но уже ничего не помнит о том, что было до этого.
 

RomikChef

Guest
Ашотович.
выборка из базы делается НА СЕРВЕРЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ!!!!!
onchange происходит на КЛИЕНТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

когда ты перестанешь путать эти понятия?
ансетить ничего не надо.
надо разобраться со своей формой и с тем, что ты посылаешь.

И ВСЕ.
просто надо прямыми руками сделать форму и обработчик.
Никаких специальных средст не нужно.
Только прямые руки.
 

RomikChef

Guest
Если ты делаешь все яваскриптом, то в нем у тебя
НЕТ! массива! $_POST!!!!!
Он остался НА СЕРВЕРЕ!!!!
 
Сверху