PHP+js判断用户是否登录 20
我要做一个类似留言板的功能:网站问答系统,就是用户提交问题,管理员做出回答并展示出来,点击问题提交的时候需要用PHP和JS判断用户是否登录,如果没登录则alert一个对话...
我要做一个类似留言板的功能:网站问答系统,就是用户提交问题,管理员做出回答并展示出来,点击问题提交的时候需要用PHP和JS判断用户是否登录,如果没登录则alert一个对话框,请登录,然后点击确定跳到登录页面,如果已经登录则跳出问题输入框
自己研究了一下两句代码搞定,谢谢各位 展开
自己研究了一下两句代码搞定,谢谢各位 展开
4个回答
展开全部
可以利用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>
两个文件: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>
参考资料: 雷锋日记 :D
2012-03-31
展开全部
实现这个有多个方法
一个就是在问题页面放一个隐藏的表单,js判断表单有use_id值就是已登录了,空则没有登录
二、用js发一个ajax请求,通过服务端的验证,已登录则返回true,没登录则返回一个false,根据ajax请求实时验证用户登录状态,做出相应的处理
一个就是在问题页面放一个隐藏的表单,js判断表单有use_id值就是已登录了,空则没有登录
二、用js发一个ajax请求,通过服务端的验证,已登录则返回true,没登录则返回一个false,根据ajax请求实时验证用户登录状态,做出相应的处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这么简单的问题就不要在这提问了。。直接GOOGLE! PHP 验证登陆。。。 多么简单的东西非得在这浪费时间问。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
$islogin=true;//假如登录了
if($islogin){
//已经登录
}else{
echo "<script>alert('您还没有登录');</script>";
}
?>
$islogin=true;//假如登录了
if($islogin){
//已经登录
}else{
echo "<script>alert('您还没有登录');</script>";
}
?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询