Get, но по различен начин - вместо ?name=sadas

sianbg_s

Registered
Добър вечер. Имам подобие на framework. Имам диспечър, който вика дадения контролер със съответния метод. Нека да обясня по-подробно.

http://site.com/controller/method/parametar1/parametar2

Предполагам вече се сещате как вземам контролера и метода и какво остане ми са параметри в един array. Чудесно е. Обаче дойде време да правя търсачка, която трябва да взема търсенето през URL-то. Контролера и модела нямам никакъв проблем с направата им. Проблема идва със самата форма.

Код:
<form method="get" ....

Прави ми URL-то на нещо от сорта ?name=asdasdas%drugo=?rydhdfg . То така и трябва да си работи, но в моя случай искам да е /name/asdasd/drugo/asdasd . Сетих се за 2 варианта, но не знам до колко са удачни. Единия е да направя формата POST и при събмит да правя един редирект и там да си оправя URL-то. Не ми се струва най-подходящия, защото самия post прави рефреш, след това аз правя още един рефреш. Другата ми мисъл беше с mod rewrite, но няма да стане защото физически не съществува такъв файл + развалям цялата идея за работа с гет на framework-a. Някакви идеи да имате ?
 
eLite каза:
Нужен ти е routing клас, който да преобразува GET заявките ти в посочения формат.
Драснал съм си нещо такова. Гет заявките си ги вземам и мога да работя с тях. Проблема беше, че не можех да накарам формата да ми структурира както аз искам информацията в URL-то. С един кратък JS мисля, че ще реша горе-долу добре проблема.

[js]
$(document).ready(function() {
var path = "<?php echo $this->path; ?>";
$('.search_button').click(function() {
var search_by = $('.search_by').val();
var search_input = $('.search_input').val();
window.location.replace(path+"server/search/"+search_by+"/"+search_input);
});
});

[/js]
 

Back
Горе