побуждает пользователя зарегистрироваться с помощью jquery? - PullRequest
0 голосов
/ 29 декабря 2010

Я хочу сделать что-то в jquery, если пользователь хочет проголосовать за что-то, а он не вошел в систему или не зарегистрирован, вы предлагаете ему сделать что-то, как stackoverflow, когда появляется всплывающее окно с оранжевым, но я было интересно, как вы работаете с JQuery и сессий! Я просто хочу подтолкнуть в правильном направлении! :))

Ответы [ 3 ]

2 голосов
/ 29 декабря 2010

Вам необходимо установить переменную javascript в своем коде где-нибудь, которая говорит, вошел ли пользователь в систему или нет. Это может быть из сеансов бэкэнда или из файла cookie браузера, который вы установили.Вы определенно не хотите, чтобы это было единственной мерой против голосования, если они не вошли в систему.Проверьте это и на сервере.

Если вы хотите использовать сеансы, вы можете сделать что-то вроде этого:

<script type="text/javascript">
    var userLoggedIn = <?php =$_SESSION['logged_in']; ?>
</script>

$_SESSION['logged_in'] должно быть установлено либо trueили false.Затем вы просто проверяете эту переменную (userLoggedIn) каждый раз, когда пользователь хочет выполнить действие.Также проверьте это на стороне сервера, как я сказал выше.

SO, кажется, использует этот метод.Если вы посмотрите в коде, есть строка var isRegistered = true, что означает, что я в данный момент вошел в систему.

Другой способ сделать это - удалить все функции голосования, если они не вошли в систему, идобавь это когда они есть.Это сэкономит время загрузки для тех, кто не вошел в систему.

0 голосов
/ 29 декабря 2010

Не зная, какие у вас настройки (т. Е. Используете ли вы фреймворк и т. Д.), Трудно дать наилучший ответ; однако, в общих чертах, вам просто нужно сделать следующее:

  1. Проверьте, установлен ли сеанс, и
  2. Если это так, запустите всплывающее окно javascript.

Предполагая, что информация о сеансе входа в систему хранится в слоте с именем 'username', вы должны сделать:

if (!isset($_SESSION['username'])) { 
   print("
      <script type type=\"text/javascript\">
         alert('Please login first.');
      </script>
   ");
}

Я рекомендую заглянуть в jQuery UI , чтобы найти отличные способы сделать вещи более привлекательными.

0 голосов
/ 29 декабря 2010

Сеансы управляются на сервере и не имеют ничего общего с jQuery.

Вы можете использовать jQuery для создания хороших модальных диалогов для экранов входа в систему, но это просто красивый HTML.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...