|
|
|
| В общем проблема проста как мир! Создаём несколько форм <select><option>
Пытаемся передать переменную методом post и сделать фильтрацию в следующем
Поле, а в первом теряем значение переменной. Вопрос как безопасно передать переменную и не потерять её!
Если подкинете кодик, буду очень признателен. Бо мозг завис окончательно!
SOS!!!!!!!!! | |
|
|
|
|
|
|
|
для: Artist007
(19.05.2008 в 14:28)
| | Не очень понятно... У вас несколько HTML-форм на отдельных страницах, которые пользователи проходят последовательно одну за другой? | |
|
|
|
|
|
|
|
для: cheops
(19.05.2008 в 14:30)
| | делаем меню, так
В первом меню запрашиваем страны, достаём и х из базы данных
Во втором запрашиваем регеоны, а в первом проподает название страны и так далее
Вопрос! как сохронить данные в формах
И есть л простой выход из этого положения?
Прошу прощения, формы находятся рядом! | |
|
|
|
|
|
|
|
для: Artist007
(19.05.2008 в 17:11)
| | То есть, вы выбираете из списка одно значение и это у вас в форме естественно. По этому выбору происходит переход на другую страницу, где вы выбираете второе значание, но форма уже другая? И пропадают данные первой формы? | |
|
|
|
|
|
|
|
для: sim5
(19.05.2008 в 17:26)
| | Примерно так! есть выход? | |
|
|
|
|
|
|
|
для: Artist007
(19.05.2008 в 17:38)
| | Конечно есть, и для этого достаточно всего одной формы. Вы просто должны проверять - был ли выбор в списке, если да, сохранять значение (можете сессию использовать для этого, можете и элементы самой формы), выводить следующий список и т.д.. Можно зайдействовать AJAX, для того чтобы не перегружать всю страницу, или "псевдо" AJAX, используя в качестве контейнера для вывода селектов элемент IFRAME, тоже будет без перезагрузки всей страницы, но проще чем "чистый" AJAX. | |
|
|
|
|
|
|
|
для: sim5
(19.05.2008 в 17:44)
| | А если я не знаком с AJAX, то как быть тогда? | |
|
|
|
|
|
|
|
для: Artist007
(19.05.2008 в 17:49)
| | Делайте без него или используйте IFRAME. Собственно использование AJAX или IFRAME, это не обязательное условие для решения вашей задачи, это лишь "сервис" для пользователя. | |
|
|
|
|
|
|
|
для: sim5
(19.05.2008 в 17:54)
| | Ребята полный клин :(
Дайте какой нибудь код, простой, а дальше его сам ракалупаю! плиз | |
|
|
|
|
|
|
|
для: Artist007
(19.05.2008 в 17:58)
| | Вот пример. В нем нет проверок, данные берутся не из базы, а из массива, но "расколупаете":
<?php
session_start();
$country = array('Россия', 'Америка', 'Германия');
$sity = array('Россия' => array('Москва', 'Питербург', 'Омск'),
'Америка' => array('Вашинтонг', 'Даллас', 'Денвер'),
'Германия' => array('Берлин', 'Гамбург', 'Веймар'));
if (!isset($_POST['country'])) {
print '<form action="" method="post">
<select name="country" onchange="this.form.submit()">
<option value="" SELECTED>Выберите</option>
<option value="0">'.$country[0].'</option>
<option value="1">'.$country[1].'</option>
<option value="2">'.$country[2].'</option>
</select></form>';
} else {
$_SESSION['country'] = $_POST['country']; //сохраняем id
//или сохраняем страну
$_SESSION['country'] = $country[$_POST['country']];
//формируем следующий список
$s = $country[$_POST['country']];
print '<form action="" method="post">
<select name="sity" onchange="this.form.submit()">
<option value="" SELECTED>Выберите</option>
<option value="0">'.$sity[$s][0].'</option>
<option value="1">'.$sity[$s][1].'</option>
<option value="2">'.$sity[$s][2].'</option>
</select></form>';
}
if (isset($_POST['sity'])) {
$_SESSION['sity'] = $_POST['sity']; //сохраняем id
//или сохраняем город, по сохраненной стране
$_SESSION['sity'] = $sity[$_SESSION['country']][$_POST['sity']];
//и так далее... а когда все получено и ОК,
//выводим где-то результат (взят случай, когда в сессии сохранялись строковые значения)
print "Выбрана страна ".$_SESSION['country']." и город ".$_SESSION['sity'];
}
?>
|
| |
|
|
|
|
|
|
|
для: sim5
(19.05.2008 в 18:53)
| | спасибо, Счас попробуем повязать с PHP! Если чаво, обращаться за помощью можно? | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 10:13)
| | А я написал разве на Delphi? Вроде бы на РНР. )
Форум и существует для обращений. Собственно в примере все просто до безобразия, в смысле простоты, так, чтобы был понятен сам механизм. Вам осталось только написать функцию, которая будет получать список стран, регионов, городов..., параметрами вызова которой могут быть имена списков, которые определить в switch по получению формы. А далее выводить полученные списки, динамически формируя элементы SELECT, записывать (после проверки) значения, или возвращать список пользователю при ошибках... В общем "расколупывайте", принцип ясен, а как его "облагородить" будет зависеть от поставленной вами задачи. | |
|
|
|
|
|
|
|
для: sim5
(20.05.2008 в 10:26)
| | Спасибо огромное, что не оставили нас в беде!
и удачи вам вовсех ваших наченаниях!:) | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 11:09)
| | Да проблемы только начинаются. Теперь не работает сесии!? | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 16:15)
| | пора выбросить свой комп на улицу 10 этажа!
Нефига не работает | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 16:17)
| | Комп тут не причем. Сессии не работают КАК, нет записи, выдается ошибка...? Хотите задать вопрос, не говорите загадками. | |
|
|
|
|
|
|
|
для: sim5
(20.05.2008 в 16:26)
| | прошу прощения за загадки, но просто сил больше нет!
спасибо за код! расколупал быстро, но, когда я начале файла пишу сессия старт, но отвечает
немагу её начать. примерно так! | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 17:18)
| | кстати работаю в Дримвивере, Может с ним проблемы??? | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 17:22)
| | или это просто с руками проблемы???:) | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 17:22)
| | Он же наверника пишет почеу не может начаьт сессию, читал что пишет?
А то что в браузер уже что-то выводили и заголовки уже отправленны. | |
|
|
|
|
|
|
|
для: Гость
(20.05.2008 в 17:29)
| | прикольно, сейчас ему сесии не почём, ругается на другие запросы, Видать сегодня магнитные бури:) | |
|
|
|
|
 12.5 Кб |
|
|
для: Artist007
(20.05.2008 в 17:18)
| | Так наверное нужно почитать о сессиях. | |
|
|
|
|
|
|
|
для: sim5
(20.05.2008 в 17:42)
| | Спаисбо, читану на досуге! Пора закончить этот страшный день.Всем спасибо и до завтра! | |
|
|
|
|
|
|
|
для: Artist007
(20.05.2008 в 17:53)
| | Ух ночь прошла не зря 70% проги работает!
Кстати а если попробовать с делать тоже самое только на JVA!
как тогда! | |
|
|
|
|
|
|
|
для: Artist007
(21.05.2008 в 17:36)
| | А что такое JVA? Есть JavaScript, это знаю. Хотите на нем, тогда вам в раздел HTML, там описывались динамические списки, а описывать эту тему здесь не стоит. | |
|
|
|
|