Форма html+php или её альтернатива

Статус
В этой теме нельзя размещать новые ответы.

BasCreator

Новичок
PHP:
<form action="/ads/category/" method="get" class="search_block" id="search_form">
  	<fieldset class="no_border">
	
	<select id="region" name="location_id">
	<option value="1">значение1</option><option value="2">значение2</option><option value="3">значение3</option><option value="4">значение4</option></select>
	<input class="goto" type="submit" value="Перейти" class="search">
	</fieldset>
	</form>
Сделана такая форма, которая, писалась с умыслом выдавать ссылки вида "/ads/category/1" (к примеру), но на практике получается ссылка вида "/ads/category/?location_id=1". Возникает несколько проблем и вопросов.
1. Как можно убрать кусок строки "?location_id=" ? Вместо location_id пустое значение подставить не выходит. Думаю, здесь это можно реализовать простым отрубанием "?location_id=" по маске, но как это сделать на php - вот в чём вопрос.
2. Возможно ли более элегантное и эффективное исполнение данной задачи, чем указано в коде?
 

Фанат

oncle terrible
Команда форума
PHP:
<a href="/ads/category/1/">значение1</a><br>
<a href="/ads/category/2/">значение2</a><br>
<a href="/ads/category/3/">значение3</a><br>
<a href="/ads/category/4/">значение4</a><br>
 

BasCreator

Новичок
Нужно не совсем то, что вы написали. Нужно, чтобы переход совершался лишь по клику на кнопку "Перейти". В вашем же случае переход будет осуществляться сразу по клику на значение в форме.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Нужно, чтобы переход совершался лишь по клику на кнопку "Перейти". В вашем же случае переход будет осуществляться сразу по клику на значение в форме.
1. Никакой формы там нет, и не надо.
2. Зачем именно кнопка перейти, чисто хочется и все?
 

BasCreator

Новичок
Кнопка "Перейти" нужна для выбора двух разных пунктов в этой форме. Один из них удалён намеренно т.к. является слишком громоздким для помещения в код. Да и сама эта форма нужна для того, чтобы панель навигации была компактной.
 

Фанат

oncle terrible
Команда форума
без яваскрипта такие понтовые панельки сделать не получится.
делать редирект на стороне пхп - это уже совсем треш.
 

BasCreator

Новичок
делать редирект на стороне пхп - это уже совсем треш.
Там не редирект на стороне php, там сортировка по категориям, реализованная вполне корректно. Лень моя проявилась лишь в нежелании писать добавление из базы всех этих категорий в форме.
А по поводу решения задачи: по факту стоит вопрос в том, как именно в php реализовывается преобразование строк по маске, либо с отбрасыванием определённых номеров символов.
 

Beavis

Banned
А по поводу решения задачи: по факту стоит вопрос в том, как именно в php реализовывается преобразование строк по маске, либо с отбрасыванием определённых номеров символов.
ты понимаешь, что строку /ads/category/?location_id=1 формирует не php, а браузер клиента при нажатии на кнопку?
т.е. изменить способ формирования строки можно только на стороне клиента (т.е. javascript), php тут не при чем.

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

Фанат

oncle terrible
Команда форума
это не принципиально. ну, за исключением желаемого вида конечного урла.
у тебя, кстати, скрипт-обработчик-то готов уже? Или его ещё нет? Он-то понимает "красивые" урлы?
 

BasCreator

Новичок
Нет. :( С яваскриптом у меня всё плохо... До его разбора руки ещё не доходили.
 

Фанат

oncle terrible
Команда форума
о, боги.
ну при чём тут яваскрипт?
я тебя спрашиваю,
скрипт-обработчик у тебя готов уже?
- скрипт, который обрабатывает эти твои понтовые урлы. РНР скрипт. скрипт каталога.
так понятнее?
 

BasCreator

Новичок
А, этот... Пока что не думал над ним, но проблем с этим не должно возникнуть.
 

Фанат

oncle terrible
Команда форума
Ну вот и давай - самое время подумать и сделать.
Если проблем не возникнет - тогда вернёшься к этой задаче. Заодно хотя бы узнаешь, какой урл ты хочешь получить.
А если вдруг возникнут, то окажется, что "некрасивые" урлы - это единственное, что у тебя работает.
И проблема отпадёт сама собой.
 

BasCreator

Новичок
Троллить - вы ресурсом "чуть-чуть" ошиблись. У меня всё работает кроме этого. Не можете ответить на вопрос - не мешайте другим.
P.S. И напомните, давно ли мы с вами познакомились, чтобы переходить на общение на "ты" ?
 

флоппик

promotor fidei
Команда форума
Партнер клуба
Тема закрыта.

Проблемы личного характера и бессмысленные споры между участниками не являются предметом обсуждения форума.
Обсуждайте их в привате.
 

Фанат

oncle terrible
Команда форума
ну-ну.
у тебя не может работать то, о чём ты ещё даже не думал.
поэтому не надо изображать из себя обиженного мальчика, а надо последовать полезному совету (который ты по глупости принял за "троллинг").

когда сделаешь то, что "проблем не должно вызвать" - можешь извиниться.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху