php判断是否登录
‘壹’ php中如何判断用户是否在线
代码很简单,但实现逻辑自己要想明白,
网站头公共文件加下边代码,意思即每个页面都有包含下面这个php代码,总之你懂,
这样,只要有用户登陆,或者打开别的页面,就会往all_user表里的action_time字段添
加操作时间,当你检测用户是否在线,就把用户操作时间action_time转化为几分钟前,小时前,
,知道每个用户是几分几小时前操作,就可以把几分钟前的显示在线,而几小时前的,显示离线或几小时前,
例如用户15:30分登陆,打开几个页面,然后就关电脑或出门,这时all_user表已经记录了操作时间
网站可以用wordTime($time)显示他的操作时间离现在为2分钟前,或20分钟前,将直接显示在线。
至于多少分钟不操作算离线,自己调分钟数
<?php
strtotime("now");//取服务器当前时间戳,得到值如1533213376
$sql="UPDATEall_userSETaction_time=$action_timeWHEREuserid=$cook_userid";
//往用户表里更新操作时间,具体要填自己的表名和用户名的字段名
?>//======================下边功能代码可直接用
<?php
functionwordTime($time){
$time=(int)substr($time,0,10);
$int=time()-$time;
$str='';
if($int<=2){
$str=sprintf('在线',$int);
}elseif($int<60){
$str=sprintf('在线',$int);//60秒内
}elseif($int<300){
$str=sprintf('在线5',$int);//5分钟内
}elseif($int<1800){
$str=sprintf('在线+',floor($int/60));//30分钟内
}elseif($int<3600){
$str=sprintf('%d分钟前',floor($int/60));//30-60分钟内
}elseif($int<86400){
$str=sprintf('%d小时前',floor($int/3600));
}elseif($int<2592000){
$str=sprintf('%d天前',floor($int/86400));
}elseif($int<2592000*30){
$str=sprintf('%d月前',floor($int/2592000));
}else{
$str="";//date('Y-m-d',$time);
}
//调用方法,把值给到变量time如:$time="1533213376";echowordTime($time);结果将输出20分钟前
?>
不存在频繁操作数据库问题,因为打开网页都要查询mysql 用户名等这些,也不差这条更新命令,
‘贰’ PHP如何判断用户是否登入,如果未登入就转到注册页面
应该是敬高没登姿尺录,就跳到登录页面吧.一般常用的是cookie判断一下该用户的cookie信息是否存在,如果不存在就要求用户登亮册尺陆在用户登录的时候,如果是合法用户就设定cookie。setcookie("username","$username");在其他的页面中只要判断该cookie是否存在就可以了,if($_COOKIE["username"]){ }else{ header("location:登录/注册页面");}
你可以去后盾人平台看看,里面的东西不错
‘叁’ php is_login()做什么用的;
这并非是PHP系统函数,从命名方式上来看,应该是判断是否登录的函数。
is_array() //判断是否数组。
is_int()//判断是否整型。
is_login()//判断用户是否登录。
如果是 $res = is_login(); 这种形式判断 那is_login返回结果往往是 bool。
php简介
计算机编程语言(Hypertext Preprocessor)
PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:HypertextPreprocessor)的缩写。PHP是一种HTML内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。
PHP独特的语法混合了C、java、Perl以及PHP自创新的语法。它可以比CGI或者Perl更快速的执行动态网页。
PHP最初是由勒多夫在1995年开始开发的;现在PHP的标准由the PHP Group维护。PHP以PHP License作为许可协议,不过因为这个协议限制了PHP名称的使用,所以和开放源代码许可协议GPL不兼容。
优势
1、开放的源代码:
所有的PHP源代码事实上都可以得到。
2、PHP是免费的:
和其它技术相比,PHP本身免费且是开源代码。
3、php的快捷性:
程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言。编辑简单,实用性强,更适合初学者。
4、跨平台性强:
由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS下。
5、效率高:
PHP消耗相当少的系统资源。
6、图像处理:
用PHP动态创建图像。
7、面向对象:
在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。
8、专业专注:
PHP支持脚本语言为主,同为类C语言。
‘肆’ php怎么写一个判断语句,判断会员是否登录,登录了显示价格,没登录,显示一句话
首先你神镇肯定要有用户的数据,你才能根据数据纯蚂判断做瞎埋用户是否为会员。会员的信息一般都会在登录的时候保存在cookie或者session中,取出来就好。
‘伍’ PHP网站中,如何判断用户是否是在线的状态
普通http网站是一种无状态连接,每次一个请求,一个应答,没有长连接状态。
但是可以通过记录访问时间,来确定用户的状态。
用户登录后,每次访问,更新一下最近访问时间在数据库里
在用户页面的公共部分,做一个定时轮询,n秒一次(防止用户打开页面后放着不动,看资料或者做别的)
服务器端做一个定时,将最近时间在n秒内的用户设为在线状态,将最近时间大于n秒的(说明已经关了页面),设为离线状态。 如果是普通 web空间无法配置定时器,可以在每次用户访问时处理一次(如果用户量大,需要做时间判断,防止同时访问量多时多次重复处理,影响服务器性能)
如果能确定一个用户的访问,只有一个浏览器窗口,可以在窗口里加一个关闭事件(onbeforeunload),在此事件中发送一个退出请求,主动设为离线状态。这样状态管理会更完美一些
这样基本就可以完成一个在线状态的管理。具体n 设为多少可根据情况而定,一般5-30秒都是合理的,太短了服务器压力比较大,太长了误差会比较大
‘陆’ php如何验证过滤用户是否登录
一、php可以通过Session,实现用户登录验证。
session习惯上被译为会话,它的设计是为了在一个访问期间在不同的页面间传输数据,以解决http协议无状态的问题。
session_register()函数的作用是注册新的变量,它会在全局变量中增加1个变量到目前的session之中,以后其他页面可以通过session_is_registered()函数检测该session变量是否已经注册。
二、通过session来检测用户登录信息,由两个文件组成,login.php为用户登录页面,checklogin.php用于检测账号、密码和是否登录成功。
具体参考代码如下:
login.php的代码如下:
<?php
session_start();//初始化session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他页面
exit();
}
?>
<scriptlanguage="javascript">
functionchecklogin(){
if((login.username.value!="")&&(login.password.value!=""))
{
returntrue;//判断用户名和密码不为空,返回TRUE
}
else
{
alert("昵称或密码不能为空!")
}
}
</script>
<styletype="text/css">
.style1{font-size:13px;font-family:"黑体";font-weight:normal;color:#0099FF;}
</style>
<divalign="center">
<formname="login"method="post"action="checklogin.php"onSubmit="returnchecklogin()">
<tablewidth="260"border="1"bgcolor="#D8EFFA">
<tralign="center">
<tdheight="30"colspan="2"><spanclass="style1">管理系统登录</span></td>
</tr>
<tr>
<tdwidth="90"align="center"class="style1">管理员:</td>
<tdwidth="170"height="20"align="left"valign="middle"><inputname="username"type="text"id="username"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1">密码:</td>
<tdheight="20"align="left"valign="middle"><inputname="password"type="password"id="password"size="20"></td>
</tr>
<tr>
<tdalign="center"class="style1"></td>
<tdheight="20"align="center"><inputtype="submit"name="Submit"value="登录"></td>
</tr>
</table>
</form>
</div>
checklogin.php的代码如下:
<?php
session_start();//初始session
if(isset($_SESSION['shili']))
{
header("Location:shili.php");//重新定向到其他页面
exit;
}//登录过的话立即结束
$shili_name=$_POST['username'];//获取参数
$password=$_POST['password'];
//验证管理员名称和密码是否正确,这里采用直接验证,没有连接数据库
if($shili_name=="mr"and$password=="mrsoft")
{
session_register("shili");//注册新的变量,保存当前会话的昵称
$shili=$shili_name;
echo"<fontcolor=red>登录成功!</font>";
header("Location:shili.php");//登录成功重定向到管理页面
}
else
{
echo"<tablewidth='100%'align=center><tr><tdalign=center>";
echo"账号或密码错误,或者不是管理员账号<br>";
echo"<fontcolor=red>登录失败!</font><br><ahref='login.php'>请重新输入</a>";
echo"</td></tr></table>";
}
?>
shili.php的代码如下:(实验简单验证)
<?php
echo"WelcometoMyWorld!";
?>
//如果想要对某个页面限制浏览的用户,可以使用同样的方式,只要把如下的代码放在该页面的开头即可:
<?php
session_start();
if(!isset($_SESSION['shili'])){
echo"<palign=center>";
echo"<fontcolor=#ff0000size=5><strong><big>";
echo"你没有登录,请<ahref='denglu.php'>登录</a>!";
echo"</big></strong></font></p>";
exit();
}
?>
‘柒’ php 用户登录:如何判断用户是否登录
login.php
<?php
session_start();
if(isset($_POST['user'])){
$user=$_POST['user'];
$password=$_POST['password'];
if($user=='admin'&&$password=='Password'){//验证正确
$_SESSION['user']=$user;
//跳转到首页
header('location:index.php');
}else{
echo"<script>alert('登录失败,用户名或密码不正确');</script>";
exit();
}
}
?>
<formmethod="POST">
用户名:<inputtype="text"name="user"><br/>
密码:<inputtype="text"name="password"><br/>
<inputtype="submit"value="提交">
</form>
index.php
<?php
session_start();
if(isset($_SESSION['user'])&&!empty($_SESSION['user'])){
echo"登录成功:".$_SESSION['user'];
}else{
echo"你还没有登录,<ahref='login.php'>请登录</a>";
}
?>
望采纳 Thx
‘捌’ PHP如何判断用户是否登陆,防止同账号多登陆,
大概逻辑是这样的,如果要达到一个账号登陆了,要把另一个客户端上的统一账号踢掉,那么你需要用记录用户头token,和设备唯一识别号到数据库。
当用户登陆的时候,检测和用户uid相关的token表,如果已经有token了,并且本次的设备唯一识别号和已经登陆的识别号不一样,那么清空原有token,也就是将原来登陆的账号踢下线。记录新的设备识别号的token即可。
php大致代码如下:
$currentDeviceUUID=getDeviceUUID();
$uid=getUserId();
$token=generateToken();
select*fromtokenTablewhereuid="$uid";
updatesettoken=''whereuid="$uid";
insertintotokenTable(uid,token,deviceUUID)values("$uid","$token",$currentDeviceUUID);
‘玖’ 怎么用PHP判断用户是否登陆。一个index.html登陆:有用户名,密码,然后for提交到PHP
首先判断用户名密码是否正确
如果正确 写入$_SESSION['username'伍伍山] =$_POST['username'];
然后腔中就在其它页面判断$_SESSION['username'] 是否存在 并橘老且有值 如果不存在 就直接跳转到登录页面去
‘拾’ php中如何用session判断用户是否以登陆
这问法就有问题 怎么叫用session去判断用户是否可以登录判断用户是否可以登录应该在数据库里面设置一个字段来标示查询出来看那个值是不是已经设置好的 如果是就可以登录 不是就不用存session或者cookies了 如果是判断是否已经登录才可以用session或者cookies去判断