Помогите с роутингом 1.X

 
Посетитель
small user social cms
Медаль
Сообщений: 439
Нужно подхватывать логин из url страницы

В frontent.php добавил:

Код PHP:
  1.  
  2. if ($do=='test'){
  3.  
  4. $login = $inCore->request('login', 'str', 0);
  5.  
  6. $smarty = cmsPage::initTemplate('components', 'com_test.tpl');
  7. $smarty->assign('login', $login);
  8. $smarty->display('com_test.tpl');
  9.  
В router.php добавил

Код PHP:
  1.  
  2. $routes[] = array(
  3. '_uri' => '/^test\/([a-zA-z0-9\.]+)\/test.html$/i',
  4. 'do' => 'test'
  5. 1 => 'login'
  6. );
  7.  
Смысл что в том что при добавлении в роуте вот этого - 1 => 'login' , страница выпадает в ошибку 500

а если без этой строчки то можно например в шаблон свой логин пробросить и все работает вот так $login = cmsCore::request('login', 'str', ''.$inUser->login.'');
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1979
Что-то странно вы делаете. Зачем передавать логин методом get? Передавайте методом post.
Можно тогда url в роутере сделать очень простым:
Код PHP:
  1. $routes[] = array(
  2. '_uri' => '/^test\/test.html$/i',
  3. 'do' => 'test'
  4. );
А в своем примере вы после строчки 'do' => 'test' запятую не поставили.
Редактировалось: 3 раз (Последний: 1 февраля 2018 в 20:25)
NOP
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 439
Странник, спасибо, попробую, как только пойму как. Я по примеру делал. 5 лет сидел на печи и вот пытаюсь развиватся по бразильской системе.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1979
Вот, почитайте, может, понятнее станет
NOP
Посетитель
small user social cms
Медаль
Сообщений: 439
Странник, спасибо огромное, дело было в запятой. Мануал читал, но страничку про post и get не уловил почему то сам.
Как я понимаю можно и методом get логин передавать, тем более если заработало, он же не скрывается в системе.

p.s. интересно, на сколько открытый логин безопасно. Интересно, а можно запретить его использовать при авторизации, чтобы только email подходил? Или это не повлияет на безопасность пользователей.
Редактировалось: 1 раз (Последний: 2 февраля 2018 в 09:50)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1979
Александр:
Как я понимаю можно и методом get логин передавать
Можно, конечно. Только зачем светить его в адресной строке браузера? Хотя дело ваше, вам виднее.
NOP
Посетитель
small user social cms
Медаль
Сообщений: 439
Странник, в данном случае это без разницы, т к на этой страничке будет как раз логин в форму вводится, хотя если подумать то да, можно его скрыть и отобразить вместо логина никнейм, но два аргумента почему с этим не обязательно заморачиваться, во первых логины не скрыты в системе и любой желающий его может посмотреть в профиле пользователя, во вторых логины используются и "светятся" даже в премиум компонентах, например в биллинге при переводе денег.
Так что если делать то переделывать всё разом как я думаю, но я могу ошибаться, исхожу из чистой логики, а не знаний.
Модератор
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 1675
Можете,, например, логин “приплюснуть” в нижний регистр и сравнивать в коде с настоящим но также “приплюснутым”…
будет хоть небольшая помеха…
А “по-большому“ ( счёту ) •Странник• прав — нет смысла его задавать в роуте, это не компонент «Юзеры», где это кажется логичным…
«Главное “настрой”! И всё настроиться…» © ) Их знают все! А вы?
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.