• Страница 1 из 1
  • 1
Модератор форума: Yuri_G  
Выход с сайта и переброс на главную
reformator
Сообщений: 2034
Репутация: 534

Сообщение # 1 | 18:39:08
как сделать так, чтобы пользователь после того, как нажмет кнопку "Выход" (вне зависимости с какой страницы), автоматически был перенаправлен на главную страницу!?!

Сообщение отредактировал webanet - Воскресенье, 03 Мар 2013, 00:43:30
Chelovek№1
Сообщений: 1109
Репутация: 244

Сообщение # 2 | 18:40:31
Цитата (bolandee)
как сделать так, чтобы пользователь после того, как нажмет кнопку "Выход" (вне зависимости с какой страницы), автоматически был перенаправлен на главную страницу!?!

Зачем?

Помог, ставьте + в репутацию.
reformator
Сообщений: 2034
Репутация: 534

Сообщение # 3 | 18:43:01
Цитата (Chelovek№1)
Зачем?


очень интересный вопрос biggrin отвечу встречным вопросом: стал бы я спрашивать как это сделать, если бы мне не надо было этого делать??)

Добавлено (02 Мар 2013, 18:43:01)
---------------------------------------------
отсюда ответ: надо!)) biggrin


Pashkella
Сообщений: 592
Репутация: 206

Сообщение # 4 | 19:54:44
bolandee,
между <head> и </head> вставляем

Код
<script type="text/javascript">
      
function get_cookie(cookie_name)
{
    var results = document.cookie.match ('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');
   
    if ( results )
       return (unescape (results[2]));
    else
       return null;
}
      
function eClick(){
    document.cookie = "fexit=1";
    return true;
}
      
var x = get_cookie ("fexit");

if (x == 1){
     document.location.href = "$HOME_PAGE_LINK$";
     document.cookie = "fexit=0";
}
     
</script>


В коде ссылку Выход изменяем на следующий код
Код
<a href="$LOGOUT_LINK$" OnClick="eClick()">Выход</a>
reformator
Сообщений: 2034
Репутация: 534

Сообщение # 5 | 22:06:58
BombArDier, я сделал все по инструкции....но почему то не пашет код....

вставил скрипт между головных тегов, и ссылку логаута оформил по инструкции...

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

что мне нужно (уточняю):
Когда пользователь не авторизовался еще на сайте (он еще на Главной странице!), он не имеет доступа ни к каким другим страницам....
Как только он авторизуется на сайте, его перебрасывает на другую страницу...
(здесь я использовал скрипт переадресации)


После этого, когда он решит выйти с сайта, и нажмет кнопку выхода, его должно перебросить снова на Главную страницу - [но при Этом, авторизованный пользователь, до того как выйдет с сайта, не должен видеть или иметь доступ к Главной странице...даже если он стерет ненужный кусок адреса из адресной строки Браузера - то есть, тут должен быть скрипт, который не позволит ему увидеть главную страницу, пока он авторизован]

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

Сообщение отредактировал bolandee - Суббота, 02 Мар 2013, 22:29:51
Shеriff
Сообщений: 3187
Репутация: 2662

Сообщение # 6 | 23:31:28
bolandee, зачем усложнять. Реализовать можно не скриптом, а той же переменной $USER_LOGGED_IN$. Почему бы не сделать такое же перенаправление на главную (как указано в вашем примере)? Выставляем персональный дизайн этой страницы и по такому же принципу устанавливаем редирект (только устанавливаем в условии отрицание – <?if(!$USER_LOGGED_IN$)?> ). Либо непосредственно на доступ запрещен, предварительно закрыв страницу от просмотра гостей.

P.S. не стоит забывать мелкую особенность. Например, если у пользователя отключен в браузере javascript то соответственно все скрипты работать не будут. Делаем редирект мета-тегом у кого в браузере отключена поддержка скриптов (не забываем заключить мета-тег в <noscript>). Пример:
Код
<noscript><meta http-equiv="refresh" content="0; url=http://адрес-страницы.ru/" /></noscript>

Профессиональный сервис опросов WebAsk
reformator
Сообщений: 2034
Репутация: 534

Сообщение # 7 | 23:49:33
Shеriff, вот код страницы на которую пользователя перенаправляет, когда он проходит авторизацию:



применил ваше условие, но когда нажимаю на Выход, на Главную не перебрасывает, а выводит страницу Доступ запрещен!)) что не так?)

Сообщение отредактировал bolandee - Суббота, 02 Мар 2013, 23:53:45
Shеriff
Сообщений: 3187
Репутация: 2662

Сообщение # 8 | 23:53:47
Цитата (bolandee)
применил ваше условие, но когда нажимаю на Выход, на Главную не перебрасывает, а выводит страницу Доступ запрещен!))

Если применили как персональную страницу, то убедитесь, доступна ли страница гостям.
Прикрепления: 2006993.png (13.5 Kb)

Профессиональный сервис опросов WebAsk
reformator
Сообщений: 2034
Репутация: 534

Сообщение # 9 | 00:01:07
Цитата (Shеriff)
По условию так не скажешь.


Понимаю, немного не ясно выразился...и чтобы вас не путать - вот все по очереди снова:
Вот код Главной страницы, при этом юзер еще не авторизовался, но как только он авторизуется, его перекинет на страницу "/index/jb/0-4"


А теперь вот код страницы, то есть страницы "/index/jb/0-4", когда уже пользователь уже авторизован (он перенаправлен из главной сюда) - как видите его должно перекинуть обратно на главную ($HOME_PAGE_LINK$), когда он выходит с сайта:


Ну что не так?))

Цитата (Shеriff)
Если применили как персональную страницу, то убедитесь, доступна ли страница гостям.

Для второй страницы доступ для гостей закрыт (снял галочку на странице редактирования)

Сообщение отредактировал bolandee - Воскресенье, 03 Мар 2013, 00:03:15
Shеriff
Сообщений: 3187
Репутация: 2662

Сообщение # 10 | 00:05:00
Цитата (bolandee)
Для второй страницы доступ для гостей закрыт (снял галочку на странице редактирования)

Необходимо установить галочку, дабы редирект сработал на главную.

Профессиональный сервис опросов WebAsk
reformator
Сообщений: 2034
Репутация: 534

Сообщение # 11 | 00:11:25
Shеriff, вы бесподобны!!! Примного благодарен!!))

И теперь, последний вопрос, точнее уточнение по этой теме: вот этот код, когда у юзера в браузере жаба отключена:
Код
<noscript><meta http-equiv="refresh" content="0; url=http://адрес-страницы.ru/" /></noscript>


ставить рядом с основным скриптом, или есть еще какие то условия?)

Сообщение отредактировал bolandee - Воскресенье, 03 Мар 2013, 00:12:04
Shеriff
Сообщений: 3187
Репутация: 2662

Сообщение # 12 | 00:15:41
Цитата (bolandee)
ставить рядом с основным скриптом, или есть еще какие то условия?)

Да, можно рядом. Пример:
Код
<?if(!$USER_LOGGED_IN$)?><script type="text/javascript">window.location.href = "$HOME_PAGE_LINK$"</script><noscript><meta http-equiv="refresh" content="0; url=http://адрес-страницы.ru/" /></noscript><?else?>

Профессиональный сервис опросов WebAsk
Pashkella
Сообщений: 592
Репутация: 206

Сообщение # 13 | 00:18:28
bolandee, скрипт работает. Вы что-то не правильно сделали.

Цитата (bolandee)
И отсюда вопрос: какой скрипт нужен для переадресации пользователя на Главную страницу, когда он выходит с сайта и нужен скрипт, который не позволит ему увидеть Главную страницу, пока он на сайте?
вот здесь как пример сделал что-то подобное. Т.е. когда пользователь не авторизированный на сайт, он может заходить на главную страницу, а если авторизированный, то нет и его перебрасывает, к примеру, на страницу новостей.

Что и куда пихать:

ПУ -> Управление дизайном (шаблоны) -> Страницы сайта

Код
<?if($PAGE_ID$='sitePage1')?>
<?if($USER_LOGGED_IN$)?>

<script type="text/javascript">
   location = "http://URL";    //Если пользователь авторизированный на сайте и он заходит на главную страницу, его паренаправляет на этот URL
</script>
$POWERED_BY$    <!--Вставляем копирайт, чтобы не было ни каких ошибок-->

<?else?>

Содержимое главной страницы для не авторизированного пользователя
$POWERED_BY$

<?endif?>
<?else?>

html код для второстепенных страниц

<?endif?>

Между <head> и </head> на остальных страницах сайта вставляем следующий код

Код
<script type="text/javascript">   
          
function get_cookie(cookie_name)   
{   
      var results = document.cookie.match ('(^|;) ?' + cookie_name + '=([^;]*)(;|$)');   
       
      if ( results )   
         return (unescape (results[2]));   
      else   
         return null;   
}   
          
function eClick(){   
      document.cookie = "fexit=1";   
      return true;   
}   
          
var x = get_cookie ("fexit");   

if (x == 1){   
       location = "$HOME_PAGE_LINK$";   
       document.cookie = "fexit=0";   
}   
         
</script>

Где необходимо заменяем ссылку на Выход следующим кодом
Код
<a href="$LOGOUT_LINK$" OnClick="eClick()">Выход</a>

Все должно работать, если в браузере пользователя включена поддержка javascript.
Сообщение отредактировал BombArDier - Воскресенье, 03 Мар 2013, 13:36:12
reformator
Сообщений: 2034
Репутация: 534

Сообщение # 14 | 00:28:05
Все господа!) Вопрос нашел свое решение)) Всем благодарен!)

Shеriff, еще раз большое спасибо!)

BombArDier, тебе тоже большое спасибо , я сохраню твой вариант, и возьму на заметку!!

  • Страница 1 из 1
  • 1
Поиск:
Telegram
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!