关于php或者JS判断用户是否已经登陆/在线?请具体demo

 我来答
鸣呜呜cJ
2016-11-21 · TA获得超过593个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:91.5万
展开全部

可以利用cookie记录登录状态,特意写了个例子,已做过测试,仅供参考。
两个文件:login.php(登录)、question.php(提交问题)。


login.php代码如下:

<?php
if($_GET['success']){
    echo '<script>window.location.href="login.php";</script>';//firefox下cookie有延时,需要再次刷新
}
$user=$_COOKIE['user'];//取cookie中的值
$iflogin=$_COOKIE['iflogin'];
if($iflogin&&$user){//一小时之内不用重复登录
    if($_GET['del']){ //清除cookie
        setcookie('user','',time()-3600);
        setcookie('passwd','',time()-3600); 
        setcookie('iflogin','',time()-3600); 
        echo '<script>window.location.href="login.php";</script>';
    }
    echo $user.' wellcome, <a href="login.php?del=1">log out</a>';//登录成功的状态
}else{
if($_POST['sub']=='tijiao'){
    $user=$_POST['user'];
    $passwd=$_POST['passwd'];
    //将用户、名密码与用户表进行比对,省略……
    
    //如果正确,将登录相关信息保存到cookie中
    if($user&&$passwd){
        setcookie("user",$user,time()+3600);//保存用户名,一小时
        setcookie("passwd",$passwd,time()+3600);//保存密码,一小时
        setcookie("iflogin",1,time()+3600);//保存登录状态,一小时
    }
    //登录成功,刷新页面或跳转
    echo '<script>window.location.href="login.php?success=1";</script>';//成功后第一次刷新
}
?>
<form action="login.php" method="post">
username:<input type="text" name="user"/>
password:<input type="text" name="passwd"/>
<input type="submit" value="tijiao" name="sub"/>
</form>
<?php
}
?>


question.php代码如下:

<?php
if($_POST['sub']=='tijiao'){
    $q1=$_POST['q1'];
    $if_login=$_COOKIE['iflogin'];//取cookie中的登录状态
    if($if_login){
        //登录了,判断tijiao的问题无误,入库,省略……
        
        alert_msg('恭喜,tijiao成功!','question.php');//保存成功后提示并刷新
        exit();
    }
    //没登陆,提示请登录并跳转到登录页
    alert_msg('抱歉,请先登录!','login.php');

//提示函数,默认不跳转,当$url有值时跳转
function alert_msg($msg,$url=''){
    if($url){
        echo '<script>alert("'.$msg.'");window.location.href="'.$url.'";</script>';
    }else{
        echo '<script>alert("'.$msg.'");</script>';
    }
}
?>
<form action="question.php" method="post">
question1:<input type="text" name="q1"/>
<input type="submit" value="tijiao" name="sub"/>
</form>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式