案例:用户点击图像
- 如果是返回的用户(用户会话有效期为30分钟),请导航到图像的链接
- 如果是新用户,则显示一个弹出div
现在,每当单击图像时,我都会显示弹出的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
不要在客户端代码中执行条件检查,而是在服务器端代码中执行。
假设您有想要实现的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>