перенаправление после авторизации на предыдущую страницу

Главные вкладки

Аватар пользователя Beshan Beshan 2 сентября 2012 в 21:42

перенаправление после авторизации на предыдущую страницу искал искал так и не нашёл.
использую для входа login toboggan,

попробовал Login destination не разобрался !!

пробова прикрутить как сказано здесь не вышло выдает ошибку
Notice: A session had already been started - ignoring session_start() в функции include()

подскажите плизззззз

Комментарии

Аватар пользователя Beshan Beshan 2 сентября 2012 в 22:35

kalabro wrote:
оно и так перенаправляет, без всяких модулей

и где это настроить а то он перенаправляет на страничку пользователя

Аватар пользователя imarat imarat 2 сентября 2012 в 22:32

в рулезах сделать правило Пользвоатель авторизовался, дейтсвие - выполнить php код

<?php header('Location: '.$_SERVER["HTTP_REFERER"]);?>

Аватар пользователя Beshan Beshan 3 сентября 2012 в 0:20

установил рулес и неообходимые модули а чето не пашет ни где ни че не появилось пробовал перейти по /admin/rules/trigger но просто открывает /admin может надо еще чтото ставить??

Аватар пользователя Beshan Beshan 5 сентября 2012 в 7:11

сделал при авторизации перенапровление на отдельный скрипт пхп тоже работает,сегодня попробую как написали

Аватар пользователя NaZg NaZg 5 сентября 2012 в 9:11

"imarat" wrote:
<?php header('Location: '.$_SERVER["HTTP_REFERER"]);?>

интересно
т.е. если, допустим, с д.ру я зайду сразу на site.ru/user, то после авториза меня выкинет обратно на д.ру?

Аватар пользователя imarat imarat 5 сентября 2012 в 19:23

"NaZg" wrote:
т.е. если, допустим, с д.ру я зайду сразу на site.ru/user, то после авториза меня выкинет обратно на д.ру?

"Beshan" wrote:
перенаправление после авторизации на предыдущую страницу

да, но при желании можно задать доп условие, сравнить домен

Аватар пользователя Beshan Beshan 6 сентября 2012 в 0:46

imarat wrote:
"NaZg" wrote:
т.е. если, допустим, с д.ру я зайду сразу на site.ru/user, то после авториза меня выкинет обратно на д.ру?

"Beshan" wrote:
перенаправление после авторизации на предыдущую страницу

да, но при желании можно задать доп условие, сравнить домен
я так попробовал

<?php
$urlsn
=$_SERVER['SERVER_NAME'];
$urlr=$_SERVER['HTTP_REFERER'];
$url=parse_url($urlrPHP_URL_HOST);
    if(
$urlsn==$url){
    
header('Location: '.$_SERVER["HTTP_REFERER"]);
}
else

header('Location: http://'.$_SERVER["SERVER_NAME"]);

 
?>

но вот в чем дело если мы заходим на страницу /user то она попадает в HTTP_REFERER и скрипт перекидывает обратно /user

Аватар пользователя Beshan Beshan 6 сентября 2012 в 1:06

ПХП в руле появился но почемуто не срабатывает....(пробовал и с тегами и без них )
оставил так при авторизации перенапровляет на файл пхп содержащий <?php header('Location: '.$_SERVER["HTTP_REFERER"]);?>
если пользователь зашел просто через block-login-user то он остается на той странице на которой был а если через страницу /user то он неизбежно остается на /user (оно и правильно)

Аватар пользователя NaZg NaZg 6 сентября 2012 в 1:20

"Beshan" wrote:
если есть еще предложения было бы интересно послушать...

"CASHMAR" wrote:
Приводи юзера к странице авторизации с параметром "destination" в урле. Всё схватится автоматом.

Аватар пользователя Beshan Beshan 6 сентября 2012 в 8:14

NaZg wrote:
"Beshan" wrote:
если есть еще предложения было бы интересно послушать...

"CASHMAR" wrote:
Приводи юзера к странице авторизации с параметром "destination" в урле. Всё схватится автоматом.

вроди догадываюсь как это реализовать, но хотелосьбы поподробней(пример)

Аватар пользователя CASHMAR CASHMAR 6 сентября 2012 в 18:51

"Beshan" wrote:
/user/login?destination=$_SERVER['REQUEST_URI']
может както так??

"imarat" wrote:
/user/login?destination=<?php echo $_SERVER['REQUEST_URI']; ?>

"Beshan" wrote:
если есть еще предложения было бы интересно послушать...

Попробуй лучше

$destination = 'uri/you-want-user-to-send-to';
$link        = l(t('Sing in'), 'user', array('query' => array('destination' => $destination)));

print $link;