Программирование > PHP

одинаковые name в checkbox

(1/3) > >>

Erikson:
Привет, доки. Прошу помощи!
Пытаюсь создать страницу, которая выводит данные по трем городам. Листинг (weather_info.php):

if (!IsSet($_GET[\'city\'])) {
   print("Выберите город:\\n
");
   print("\\n");
   print("\\n");
   print(" Санкт-Петербург
\\n");
   print(" Нерюнгри
\\n");
   print(" Салават
\\n");
   print("\\n");
   print("\\n");
} else {
   if (IsSet($_GET[\'city\']) && ($_GET[\'city\'] == (("SPb") or ("Nerungri") or ("Salavat")))) {
      if ($_GET[\'city\'] == "SPb") {
         print("Санкт-Петербург!!!!!!");
      }
      if ($_GET[\'city\'] == "Nerungri") {
         print("Нерюнгри!!!!!!");
      }
      if ($_GET[\'city\'] == "Salavat") {
         print("Салават!!!!!!");
      }
   }
}

Это часть сайта. Должна выводить инфу о погоде. Смысл в том, что когда URL выглядит ?section=weather должен выводиться список городов (и выводится). Когда выбираешь город (URL ?section=weather&city=SPb) то выводится инфа о Санкт-Петербурге, но когда выбираешь несколько городов, то выводится инфа о последнем выбранном городе. Судя по урлу (?section=weather&city=SPb&city=Nerungri&city=Salavat) так и должно быть.

Так как же сделать правильно, чтоб при выборе нескольких городов выводилась инфа обо всех выбранных городах? Или хотябы как привести урл к нормальной форме, типа ?section=weather&city=SPb+Nerungri+Salavat или ?section=weather&city=SPb,Nerungri,Salavat? Не хотелось бы заморачиваться с CGI, а решить все посредством PHP.

hanslinger:

Erikson:
Тогда урл получается вида ?section=weather&city%5B%5D=SPb&city%5B%5D=Nerungri&city%5B%5D=Salavat.

html_coder:
Erikson, тогда может стоить рассмотреть примерно такой вариант


<script language="JavaScript" type="text/javascript">
function choose_town (checked, name)
{
var FormElement = document.forms[\'test_form\'];

if(checked)
{
if(FormElement.cities.value.length == 0)
{
FormElement.cities.value+= name;
}
else
{
FormElement.cities.value+= \' \'+name;
}

}
else
{
var pos = FormElement.cities.value.indexOf(name+\' \');
if(pos != -1)
{
FormElement.cities.value = FormElement.cities.value.replace(name+\' \', \'\');
}
else
{
FormElement.cities.value = FormElement.cities.value.replace(name, \'\');
}
}

}
</script>
<form action="" method="GET" name = "test_form">
<input type="checkbox" value="Moscow" onClick = "choose_town(this.checked, this.value)"> Moscow

<input type="checkbox" value="Newyork" onClick = "choose_town(this.checked, this.value)"> Newyork

<input type="checkbox" value="London" onClick = "choose_town(this.checked, this.value)"> London

<input type="hidden" name="cities" value="">
<input type="submit" value="Отправить">
</form>

Erikson:
Так работает. Значит одним PHP не реализовать?

Навигация

[0] Главная страница сообщений

[#] Следующая страница

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии