Как сохранить пользовательский сеанс в переменной в 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>
Другие вопросы по тегам