很多站长朋友们都不太清楚php用户登录怎么验证,今天小编就来给大家整理php用户登录怎么验证,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 thinkphp 怎样实现登录验证 2、 thinkphp 怎么做登录验证 3、 PHP登陆验证 4、 php简单的登陆验证用户名和密码怎么写 5、 php 用户登录:如何判断用户是否登录 6、 php 判断用户是否登录 thinkphp 怎样实现登录验证thinkphp 实现登录验证代码如下:
//登录验证
public function doLogin(){
$type=I('post.type');
if(!self::check_verify(I('post.code'))){
if($type==home){
$this->error("验证码错误",U("/Home/Index/login"));
}else{
$this->error("验证码错误",U("Login/login"));
}
}
$accountInfo=M('account')->where("account='".I('post.account')."' AND (user_type=3 OR user_type=2)")->find();
if(!$accountInfo){
if($type==home){
$this->error("账号不存在",U("/Home/Index/login"));
}else{
$this->error("账号不存在",U("Login/login"));
}
}
if($accountInfo['password']!=md5(I('post.password')."sqysll")){
if($type==home){
$this->error("密码错误",U("/Home/Index/login"));
}else{
$this->error("密码错误",U("Login/login"));
}
}
$_SESSION['user_type']=$accountInfo['user_type']; //用户类型
$_SESSION['aid']=$accountInfo['id'];
if($type==home){ //0代表官网登录,1代表医院医生后台登录
$_SESSION['type']=0;
}else{
$_SESSION['type']=1;
}
$this->redirect('Index/index');
}
//(TP3.2自带)生成验证码
public function code(){
ob_clean();
$c=I('c');
$config = array( 'fontSize' => 30, // 验证码字体大小
'length' => 3, // 验证码位数
'useNoise' => false, // 关闭验证码杂点
);
$Verify = new \Think\Verify($config);
$Verify->entry($c);
}
// (TP3.2自带)检测输入的验证码是否正确,$code为用户输入的验证码字符串
function check_verify($code, $id = ''){
$verify = new \Think\Verify();
return $verify->check($code, $id);
}
thinkphp 怎么做登录验证登录无非就是验证用户名密码以及验证码是否正确,我们可以新建一个CommonAction的公共类,用来校验权限,其他所有类继承此类。该类内部写一个初始化方法,用于验证,这一讲先不详细讲解。继续说登录,由于登录是公开模块的方法,所以可以新建一个PublicAction类,用于公共的免验证方法,同时在配置文件中添加
'NOT_AUTH_MODULE'=>'Public',//默认不需要认证的模块
'USER_AUTH_GATEWAY'=>'/Public/login',//默认的认证网关
然后开始编写Public类,具体代码如下:
<?php
classPublicActionextendsCommonAction{
//验证码显示
publicfunction verify(){
import("ORG.Util.Image");
Image::buildImageVerify(4,1,"png",100,28,"verify");
}
//验证是否账号密码
function checklogin(){
//此处多余可自行改为Model自动验证
if(empty($_POST['username'])){
$this->error('帐号错误!');
}elseif (empty($_POST['password'])){
$this->error('密码必须!');
}elseif (empty($_POST['verify'])){
$this->error('验证码必须!');
}
$map=array();
$map['username']=$_POST['username'];
$map['status']=array('gt',0);
if($_SESSION['verify']!= md5($_POST['verify'])){
$this->error('验证码错误!');
}
import('ORG.Util.RBAC');
//C('USER_AUTH_MODEL','User');
//验证账号密码
$authInfo=RBAC::authenticate($map);
if(empty($authInfo)){
$this->error('账号不存在或者被禁用!');
}else{
if($authInfo['password']!=md5($_POST['password'])){
$this->error('账号密码错误!');
}else{
$_SESSION[C('USER_AUTH_KEY')]=$authInfo['id'];//记录认证标记,必须有。其他信息根据情况取用。
$_SESSION['email']=$authInfo['email'];
$_SESSION['nickname']=$authInfo['nickname'];
$_SESSION['user']=$authInfo['username'];
$_SESSION['last_login_date']=$authInfo['last_login_date'];
$_SESSION['last_login_ip']=$authInfo['last_login_ip'];
//判断是否为超级管理员
if($authInfo['username']=='admin'){
$_SESSION[C('ADMIN_AUTH_KEY')]=true;
}
//以下操作为记录本次登录信息
$user=M('User');
$lastdate=date('Y-m-d H:i:s');
$data=array();
$data['id']=$authInfo['id'];
$data['last_login_date']=$lastdate;
$data['last_login_ip']=$_SERVER["REMOTE_ADDR"];
$user->save($data);
RBAC::saveAccessList();//用于检测用户权限的方法,并保存到Session中
$this->assign('jumpUrl',.'/Index/index');
$this->success('登录成功!');
}
}
}
//退出登录操作
function logout(){
if(!empty($_SESSION[C('USER_AUTH_KEY')])){
unset($_SESSION[C('USER_AUTH_KEY')]);
$_SESSION=array();
session_destroy();
$this->assign('jumpUrl',/Code.'/login');
$this->success('登出成功');
}else{
$this->error('已经登出了');
}
}
}
以上代码仅实现功能,没有做优化,有些验证的操作可以放到model,session也不用一 一赋值,用数组即可,我想已经入门的应该可以自己改的更好。
PHP登陆验证sql写错了
<?php
if($_POST["user_name"]==""){
echo "请输入用户名";
echo "<a href='denglu.php'>返回</a>";
}elseif($_POST["parsword"==""]){
echo "请输入密码";
echo "<a href='denglu.php'>返回</a>";
}else{
$link=mysql_connect("localhost","root","")or die("不能连接数据库");
mysql_select_db("userdb",$link)or die("选择错误");
$sql="select*from user_db where username = ".$_POST['username'].'and password = '$_POST['paddword'];
$result=mysql_query($sql,$link);
$news=mysql_fetch_assoc($result);
mysql_free_result($result);
if($news['user_name']==$_POST['user_name'] $news['parsword']==$_POST['parsword']){
echo "登陆成功";
echo "<a href='index.php'>登陆</a>";
}else{
echo "密码错误或用户名不正确";
echo "<a href='denglu.php'>返回</a>";
}
}
?>
php简单的登陆验证用户名和密码怎么写给你个实例参考一下php编写登陆验证用户名和密码吧。
登录页面
login.html 负责收集用户填写的登录信息
在CODE上查看代码片派生到我的代码片
<html>
<head>用户登录</head>
<form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)">
<p>
<label for="username" class="label">用户名:</label>
<input id="username" name="username" type="text" class="input" />
<p/>
<p>
<label for="password" class="label">密 码:</label>
<input id="password" name="password" type="password" class="input" />
<p/>
<p>
<input type="submit" name="submit" value=" 确 定 " class="left" />
</p>
</form>
</html>
登录处理
login.PHP 负责处理用户登录与退出动作。
在CODE上查看代码片派生到我的代码片
<?php
//登录
if(!isset($_POST['submit'])){
exit('非法访问!');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);
//包含数据库连接文件
include('conn.php');
//检测用户名及密码是否正确
$check_query = mysql_query("select userid from user_list where username='$username' and password='$password' limit 1");
if($result = mysql_fetch_array($check_query)){
//登录成功
session_start();
$_SESSION['username'] = $username;
$_SESSION['userid'] = $result['userid'];
echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />';
echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />';
exit;
} else {
exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
//注销登录
if($_GET['action'] == "logout"){
unset($_SESSION['userid']);
unset($_SESSION['username']);
echo '注销登录成功!点击此处 <a href="login.html">登录</a>';
exit;
}
?>
用户中心
my.php 是用户中心,作为用户登录检测。
在CODE上查看代码片派生到我的代码片
<?php
session_start();
//检测是否登录,若没登录则转向登录界面
if(!isset($_SESSION['userid'])){
header("Location:login.html");
exit();
}
//包含数据库连接文件
include('conn.php');
$userid = $_SESSION['userid'];
$username = $_SESSION['username'];
$user_query = mysql_query("select * from user_list where userid = '$userid' limit 1");
$row = mysql_fetch_array($user_query);
echo '用户信息:<br />';
echo '用户ID:',$userid,'<br />';
echo '用户名:',$username,'<br />';
echo '<a href="login.php?action=logout">注销</a> 登录<br />';
?>
conn.php,用于连接数据库
在CODE上查看代码片派生到我的代码片
<?php
$conn = mysql_connect("127.0.0.1","root","") or die("数据库链接错误".mysql_error());
mysql_select_db("info_db",$conn) or die("数据库访问错误".mysql_error());
mysql_query("set names gb2312");
?>
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();
}
}
?>
<form method="POST">
用户名: <input type="text" name="user"><br />
密码: <input type="text" name="password"><br />
<input type="submit" value="提交">
</form>
index.php
<?php
session_start();
if (isset($_SESSION['user']) !empty($_SESSION['user'])) {
echo "登录成功:".$_SESSION['user'];
}else{
echo "你还没有登录,<a href='login.php'>请登录</a>";
}
?>
望采纳 Thx
php 判断用户是否登录判断用户登陆主要分几个过程,第一步是用户登陆成功后把数据保存到session中,然后当用户访问需要登陆过的用户权限时就来判断session是否为空,如果不是就登录成功。下面来看个实例判断用户登陆主要分几个过程,第一步是用户登陆成功后把数据保存到session中,然后当用户访问需要登陆过的用户权限时就来判断session是否为空,如果不是就登录成功。下面来看个实例<?php教程session_start(); if(getconfig("chatroom_admin")==$_post["username"]getconfig("chatroom_adminpassword")==md5($_post["password"])){//登陆成功,注册session session_register("administrator"); if(isset($_session["hack_num"])){session_unregister("hack_num");}$_session["administrator"] = "yes"; header("location:main.php");exit; }else{if($_session["hack_num"]==""){session_register("hack_num"); $_session["hack_num"] = 1;}else{$_session["hack_num"] ++; } header("location:notice.php?id=".admin_login_lost);exit;}?>看到红色的没,那里就是用户登录成功把数据保存到session['hack_num']面。<?php //这个页面首先判断用户是否正确登录,如未登录,就转到登录页面。
关于php用户登录怎么验证的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php用户登录怎么验证 php用户登录功能验证的详细内容...