Программирование => PHP => Тема начата: Erikson от 17 Февраля 2007, 05:39:25
Название: одинаковые name в checkbox
Отправлено: Erikson от 17 Февраля 2007, 05:39:25
Привет, доки. Прошу помощи! Пытаюсь создать страницу, которая выводит данные по трем городам. Листинг (weather_info.php):
if (!IsSet($_GET[\'city\'])) { 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.
Название: одинаковые name в checkbox
Отправлено: hanslinger от 17 Февраля 2007, 06:02:05
Название: одинаковые name в checkbox
Отправлено: Erikson от 17 Февраля 2007, 15:04:08
Тогда урл получается вида ?section=weather&city%5B%5D=SPb&city%5B%5D=Nerungri&city%5B%5D=Salavat.
Название: одинаковые name в checkbox
Отправлено: html_coder от 17 Февраля 2007, 16:53:13
Erikson, тогда может стоить рассмотреть примерно такой вариант
Название: одинаковые name в checkbox
Отправлено: Erikson от 17 Февраля 2007, 17:24:45
Так работает. Значит одним PHP не реализовать?
Название: одинаковые name в checkbox
Отправлено: html_coder от 17 Февраля 2007, 21:18:28
Цитировать
Erikson: Значит одним PHP не реализовать?
Ну а чем тебе не подходит способ от hanslinger?
Если ты хочешь красивые урлы, то нет! А что за требование такое одним PHP?
Название: одинаковые name в checkbox
Отправлено: Erikson от 18 Февраля 2007, 01:02:22
Цитировать
html_coder: Ну а чем тебе не подходит способ от hanslinger?
Ну я объяснял выше, что урл получается совсем не корректный.
Цитировать
html_coder: Если ты хочешь красивые урлы, то нет! А что за требование такое одним PHP?
Изучаю PHP. Пытаюсь узнать возможности. А тема возникла при написании конкретного сайта, зашел в ступор. Обычно сам разбирался, а тут и книги не помогли. :-)
Название: одинаковые name в checkbox
Отправлено: andymc от 18 Февраля 2007, 03:25:32
УРЛ можно составлять так ?section=weather&SPb&Nerungri&Salavat ... а потом проверять, какие ключи есть в массиве GET
Название: одинаковые name в checkbox
Отправлено: hanslinger от 18 Февраля 2007, 19:17:41
Если хочешь красивые урлы, не используй в форме GET, вот и все.
Название: одинаковые name в checkbox
Отправлено: Erikson от 20 Февраля 2007, 01:12:47
Цитировать
hanslinger: Если хочешь красивые урлы, не используй в форме GET, вот и все.
post не позволит сохранять ссылки на страницы. Или я не прав?
Название: одинаковые name в checkbox
Отправлено: brainkiller от 20 Февраля 2007, 09:47:24
А тупо поменять имена чекбоксов, чтобы они были разными, а уже на стороне сервера пройтись по всему их множеству и проверить, какие из них заданы?