Как сохранить пользовательский сеанс в переменной в PHP, на которую будут ссылаться в JavaScript
Дело: пользователь нажимает на изображение
- Если это возвращающийся пользователь (сеанс пользователя действителен в течение 30 минут), перейдите по ссылке изображения
- Если это новый пользователь, показать всплывающее окно
Теперь я показываю всплывающее окно div при каждом нажатии на изображение. Любые советы о том, как сохранить сеанс и ссылаться на него как на переменную в JavaScript для выполнения такой функции:
if {
// user is log in.. do your task here..
} else {
//user is not log in.. do your task here...
}
РЕДАКТИРОВАТЬ:
<script>
<? if(isset($_SESSION["logged_in"])) {
echo "var $check=1";
} else {
echo "var $check=0";
} ?>
function SetMood() {
if($check==1) {
// user is log in.. do your task here..
alert('URL');
} else {
//user is not log in.. do your task here...
document.getElementById('light').style.display='block';
document.getElementById('fade').style.display='block';
document.getElementById('fade').scrollIntoView(true);
}
}
</script>
Это называется для изображения как:
<a id="register" href = "javascript:void(0)" onclick = "SetMood();" data-fancybox-group="gallery">
<img src="<cms:show my_image_thumb />" alt="" class="fade">
</a>
Выше не имеет никакого эффекта, и теперь ничего не открывается onClick
2 ответа
Не выполняйте условную проверку в коде на стороне клиента, выполняйте его в коде на стороне сервера.
Предполагая, что у вас есть реализации JavaScript того, чего вы хотите достичь, давайте назовем их соответственно:
navigateToLink();
showPopUp();
Затем вы бы условно выдавали код для одного или другого в зависимости от проверки сеанса на стороне сервера. Что-то вроде этого:
<?php
if ($_SESSION['someValue'] == 'someKnownValue') {
?>
navigateToLink();
<?php
} else {
?>
showPopUp();
<?php
}
?>
Идея состоит в том, что серверный код должен определять, что пользователь может или не может делать. Все, что испускается в коде на стороне клиента, полностью видимо (и может быть изменено) пользователем.
Это должно помочь вам:
<script>
var yourValue = '<?php echo $_SESSION['yourSessionValue'] ?>';
if(yourValue == 'hello') {
console.log('hide yo kids');
} else {
console.log('hide yo wife');
}
</script>