Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с формами. Нужна срочна помощь!!?
 
 автор: Artist007   (19.05.2008 в 14:28)   письмо автору
 
 

В общем проблема проста как мир! Создаём несколько форм <select><option>
Пытаемся передать переменную методом post и сделать фильтрацию в следующем
Поле, а в первом теряем значение переменной. Вопрос как безопасно передать переменную и не потерять её!
Если подкинете кодик, буду очень признателен. Бо мозг завис окончательно!
SOS!!!!!!!!!

   
 
 автор: cheops   (19.05.2008 в 14:30)   письмо автору
 
   для: Artist007   (19.05.2008 в 14:28)
 

Не очень понятно... У вас несколько HTML-форм на отдельных страницах, которые пользователи проходят последовательно одну за другой?

   
 
 автор: Artist007   (19.05.2008 в 17:11)   письмо автору
 
   для: cheops   (19.05.2008 в 14:30)
 

делаем меню, так
В первом меню запрашиваем страны, достаём и х из базы данных
Во втором запрашиваем регеоны, а в первом проподает название страны и так далее
Вопрос! как сохронить данные в формах
И есть л простой выход из этого положения?


Прошу прощения, формы находятся рядом!

   
 
 автор: sim5   (19.05.2008 в 17:26)   письмо автору
 
   для: Artist007   (19.05.2008 в 17:11)
 

То есть, вы выбираете из списка одно значение и это у вас в форме естественно. По этому выбору происходит переход на другую страницу, где вы выбираете второе значание, но форма уже другая? И пропадают данные первой формы?

   
 
 автор: Artist007   (19.05.2008 в 17:38)   письмо автору
 
   для: sim5   (19.05.2008 в 17:26)
 

Примерно так! есть выход?

   
 
 автор: sim5   (19.05.2008 в 17:44)   письмо автору
 
   для: Artist007   (19.05.2008 в 17:38)
 

Конечно есть, и для этого достаточно всего одной формы. Вы просто должны проверять - был ли выбор в списке, если да, сохранять значение (можете сессию использовать для этого, можете и элементы самой формы), выводить следующий список и т.д.. Можно зайдействовать AJAX, для того чтобы не перегружать всю страницу, или "псевдо" AJAX, используя в качестве контейнера для вывода селектов элемент IFRAME, тоже будет без перезагрузки всей страницы, но проще чем "чистый" AJAX.

   
 
 автор: Artist007   (19.05.2008 в 17:49)   письмо автору
 
   для: sim5   (19.05.2008 в 17:44)
 

А если я не знаком с AJAX, то как быть тогда?

   
 
 автор: sim5   (19.05.2008 в 17:54)   письмо автору
 
   для: Artist007   (19.05.2008 в 17:49)
 

Делайте без него или используйте IFRAME. Собственно использование AJAX или IFRAME, это не обязательное условие для решения вашей задачи, это лишь "сервис" для пользователя.

   
 
 автор: Artist007   (19.05.2008 в 17:58)   письмо автору
 
   для: sim5   (19.05.2008 в 17:54)
 

Ребята полный клин :(
Дайте какой нибудь код, простой, а дальше его сам ракалупаю! плиз

   
 
 автор: sim5   (19.05.2008 в 18:53)   письмо автору
 
   для: 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'];
}
?>

   
 
 автор: Artist007   (20.05.2008 в 10:13)   письмо автору
 
   для: sim5   (19.05.2008 в 18:53)
 

спасибо, Счас попробуем повязать с PHP! Если чаво, обращаться за помощью можно?

   
 
 автор: sim5   (20.05.2008 в 10:26)   письмо автору
 
   для: Artist007   (20.05.2008 в 10:13)
 

А я написал разве на Delphi? Вроде бы на РНР. )
Форум и существует для обращений. Собственно в примере все просто до безобразия, в смысле простоты, так, чтобы был понятен сам механизм. Вам осталось только написать функцию, которая будет получать список стран, регионов, городов..., параметрами вызова которой могут быть имена списков, которые определить в switch по получению формы. А далее выводить полученные списки, динамически формируя элементы SELECT, записывать (после проверки) значения, или возвращать список пользователю при ошибках... В общем "расколупывайте", принцип ясен, а как его "облагородить" будет зависеть от поставленной вами задачи.

   
 
 автор: Artist007   (20.05.2008 в 11:09)   письмо автору
 
   для: sim5   (20.05.2008 в 10:26)
 

Спасибо огромное, что не оставили нас в беде!
и удачи вам вовсех ваших наченаниях!:)

   
 
 автор: Artist007   (20.05.2008 в 16:15)   письмо автору
 
   для: Artist007   (20.05.2008 в 11:09)
 

Да проблемы только начинаются. Теперь не работает сесии!?

   
 
 автор: Artist007   (20.05.2008 в 16:17)   письмо автору
 
   для: Artist007   (20.05.2008 в 16:15)
 

пора выбросить свой комп на улицу 10 этажа!
Нефига не работает

   
 
 автор: sim5   (20.05.2008 в 16:26)   письмо автору
 
   для: Artist007   (20.05.2008 в 16:17)
 

Комп тут не причем. Сессии не работают КАК, нет записи, выдается ошибка...? Хотите задать вопрос, не говорите загадками.

   
 
 автор: Artist007   (20.05.2008 в 17:18)   письмо автору
 
   для: sim5   (20.05.2008 в 16:26)
 

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

   
 
 автор: Artist007   (20.05.2008 в 17:22)   письмо автору
 
   для: Artist007   (20.05.2008 в 17:18)
 

кстати работаю в Дримвивере, Может с ним проблемы???

   
 
 автор: Artist007   (20.05.2008 в 17:22)   письмо автору
 
   для: Artist007   (20.05.2008 в 17:22)
 

или это просто с руками проблемы???:)

   
 
 автор: Гость   (20.05.2008 в 17:29)   письмо автору
 
   для: Artist007   (20.05.2008 в 17:22)
 

Он же наверника пишет почеу не может начаьт сессию, читал что пишет?

А то что в браузер уже что-то выводили и заголовки уже отправленны.

   
 
 автор: Artist007   (20.05.2008 в 17:37)   письмо автору
 
   для: Гость   (20.05.2008 в 17:29)
 

прикольно, сейчас ему сесии не почём, ругается на другие запросы, Видать сегодня магнитные бури:)

   
 
 автор: sim5   (20.05.2008 в 17:42)   письмо автору
12.5 Кб
 
   для: Artist007   (20.05.2008 в 17:18)
 

Так наверное нужно почитать о сессиях.

   
 
 автор: Artist007   (20.05.2008 в 17:53)   письмо автору
 
   для: sim5   (20.05.2008 в 17:42)
 

Спаисбо, читану на досуге! Пора закончить этот страшный день.Всем спасибо и до завтра!

   
 
 автор: Artist007   (21.05.2008 в 17:36)   письмо автору
 
   для: Artist007   (20.05.2008 в 17:53)
 

Ух ночь прошла не зря 70% проги работает!
Кстати а если попробовать с делать тоже самое только на JVA!
как тогда!

   
 
 автор: sim5   (21.05.2008 в 17:49)   письмо автору
 
   для: Artist007   (21.05.2008 в 17:36)
 

А что такое JVA? Есть JavaScript, это знаю. Хотите на нем, тогда вам в раздел HTML, там описывались динамические списки, а описывать эту тему здесь не стоит.

   
 
 автор: mihdan   (19.05.2008 в 17:01)   письмо автору
 
   для: Artist007   (19.05.2008 в 14:28)
 

http://tigir.com/javascript_select.htm

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования