Jump to content
Sign in to follow this  
AnteFil

Как начать разрабатывать модуль?

Recommended Posts

Подскажите как передать данные методом GET уже второй день не могу понять в чём дело

Страничка с модулем /index.php?do=rab

сама форма

<form action="../index.php?do=rab&" method="GET">

<input type="text" name="zp" placeholder="Зарплата" id="searchinput">
<input type="text" name="vakansiya" placeholder="Вакансия" id="searchinput">

<input type="submit"  class="btn bg-teal btn-sm btn-raised position-left legitRipple" value="Поиск">
</form>

/index.php?zp=1111111&vakansiya=тест

отправляет всё не на страничку с модулем а просто на index как это исправить?

Share this post


Link to post
Share on other sites
43 минуты назад, AnteFil сказал:

../index.php?do=rab&

А это что за чудо-адрес? Это откель такие берутся? Если надо отправить на тот же модуль, откуда и отправляется. то в action можно вообще ничего не писать. или так и написать

action="/index.php?do=rab"

 

Share this post


Link to post
Share on other sites
4 часа назад, alex32 сказал:

А это что за чудо-адрес? Это откель такие берутся? Если надо отправить на тот же модуль, откуда и отправляется. то в action можно вообще ничего не писать. или так и написать


action="/index.php?do=rab"

 

Да это забыл удалить action="/index.php?do=rab" не работает перекидывает на index.php?к=7&h=9

Share this post


Link to post
Share on other sites

да не надо вообще в action писать. И метод post сделать

<form action="" method="post">

 

Share this post


Link to post
Share on other sites
Posted (edited)

Вообщем возник вопрос не знаю насколько это относиться к DLE  поясню всю суть проблемы. Не могу током обработать GET данные.

Решил я сразу делать в нормальном русле. Для этого в .htaccess прописал правило.

RewriteRule ^rab/$  index.php?do=rab [QSA]
RewriteRule ^rab/(.*)/$ index.php?do=rab&city=$1 [QSA]
RewriteRule ^rab/(.*)/(.*)/$  index.php?do=rab&city=$1&vakansiya=$2 [QSA]

Вообще такое чувство что всё живёт своей жизнью так как правила сначала работали потом нет чё происходит не знаю. Теоретически правила работают это комп чёт моросит.

Я добился того что всё работало так из адресной строки /rab/город/вакансия/ сейчас почему то не работает и ссылка index.php?do=rab продолжает быть активной но ......

 

Проблема сохраняется с отправкой данных методом GET в модуль.

<form action="../rab/" formmethod="GET">
<input type="text"  name="city" placeholder="Город" id="searchinput">

<input type="text" name="vakansiya" placeholder="Вакансия" id="searchinput">

<input type="submit" value="Поиск">
</form>

При нажатии на отправить получаться так /rab/?city=Сургут&vakansiya=стропальщик

Должно быть так  /rab/Сургут/стропальщик/

 

Помогите!!!! Который день бьюсь АП стену

Edited by AnteFil

Share this post


Link to post
Share on other sites
1 час назад, AnteFil сказал:

Должно быть так  /rab/Сургут/стропальщик/

 

Это с какого перепугу так должно быть после отправки формы методом get? НЕ будет такого. Правила RewriteRule это НЕ редирект.

Share this post


Link to post
Share on other sites
46 минут назад, alex32 сказал:

Это с какого перепугу так должно быть после отправки формы методом get? НЕ будет такого. Правила RewriteRule это НЕ редирект.

чё делать то?

Share this post


Link to post
Share on other sites
6 часов назад, AnteFil сказал:

чё делать то?

Отправлять методом post, что бы не было непонятных редиректов.

 

8 часов назад, AnteFil сказал:

При нажатии на отправить получаться так /rab/?city=Сургут&vakansiya=стропальщик

 

Это правильно получается. В чем проблема то?  

Share this post


Link to post
Share on other sites
20 часов назад, AnteFil сказал:

Подскажите как передать данные методом GET уже второй день не могу понять в чём дело

Страничка с модулем /index.php?do=rab

При закрытом коде, dle даже при получении переданных данных (на index.php), понятия не знает о том, что эти данные предназначены для какого-то модуля. Это только, если передавать непосредственно самому модулю:

14 часов назад, alex32 сказал:

да не надо вообще в action писать. И метод post сделать


<form action="" method="post">

 

 

14 часов назад, AnteFil сказал:

Вообще такое чувство что всё живёт своей жизнью

Чтоб правила срабатывали, надо чтобы осуществлялся переход, например по ссылкам такого вида.

14 часов назад, AnteFil сказал:

это комп чёт моросит.

Спорное утверждение.

14 часов назад, AnteFil сказал:

Проблема сохраняется с отправкой данных методом GET в модуль.


<form action="../rab/" formmethod="GET">
<input type="text"  name="city" placeholder="Город" id="searchinput">

<input type="text" name="vakansiya" placeholder="Вакансия" id="searchinput">

<input type="submit" value="Поиск">
</form>

При нажатии на отправить получаться так /rab/?city=Сургут&vakansiya=стропальщик

Должно быть так  /rab/Сургут/стропальщик/

formmethod - это что?

Такое:

14 часов назад, AnteFil сказал:

rab/Сургут/стропальщик/

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

14 часов назад, AnteFil сказал:

бьюсь АП стену

а покурить матчасть ещё и по js.

Share this post


Link to post
Share on other sites
Posted (edited)

Поясните пожалуйста логику как вывести что то в шаблон.

У меня страничка модуля mod.php на ней я делаю так 

$tpl->load_template( 'categor.tpl' ); // Загружаю шаблон
$tpl->set('{categor_vac}', $categor_vac['category']); // тут передаю шаблону данные
$tpl->compile('categor_vac');// я не понимаю что происходит здесь 
$tpl->result['poisk_vak']; //и я не понимаю что происходит здесь

Что бы отправить на печать я делаю так 
$module_start = $tpl->result['poisk_vak'];
echo $module_start; // печатаем

Кто-нибудь проясните ситуацию и что делает copy_template ?

И как два шаблона.tpl подключить? Можно использовать два раза load_template ?

Важно! Поясните логику!

Edited by AnteFil

Share this post


Link to post
Share on other sites

Подскажите почему SQL не отдаёт запрос в php. Разрабатывал модуль не денвере переустановил на опен офис так как были проблемы теперь мой разрабатываемый модуль не работает. Сам движёк работает а вот когда обращаюсь к модулу то всё рубиться по тайм ауту

Fatal error: Maximum execution time of 60 seconds exceeded in C:\OpenServer\OpenServer\domains\test.ru\engine\classes\mysql.php on line 88

запрос в базу отправляет, но с базы почему то не забирает!

Share this post


Link to post
Share on other sites

Ну видимо там такие мега-запросы, что скрипту не хватает 60 секунд для работы. А вообще с такими вопросами лучше обращаться сюда, ибо здесь никто не знает, что там у вас в модуле наворочено.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...