当前位置:首页 » 编程语言 » php验证登录

php验证登录

发布时间: 2023-04-12 00:20:39

A. 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 //这个页面首先判断用户是否正确登录,如未登录,就转到登录页面。

B. thinkphp 怎么做登录验证

登录无非就是验证用户名密码以及验证码是否正确,我们可以新建一个CommonAction的公共类,用来校验权限,其他所有类继承此类。该类内部写一个初始化方法,用于验证,这一讲先不详细讲解。继续说登录,由于登录是公开模块的方法,所以可以新建一个PublicAction类,用于公共的免验证方法,同时在配置文件中添加

'NOT_AUTH_MODULE'=>'Public',//默认不需要认证的模块

'USER_AUTH_GATEWAY'=>'/Public/login',//默认的认证网关

然后开始编写Public类,具体代码如下:

<?php

{

//验证码显示

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也不用一 一赋值,用数组即可,我想已经入门的应该可以自己改的更好。

C. 用php制作用户登录认证网页

将用户名和密码提交到指定的页面,如checkform.php,然后在该页面中以传来的用户名和密码为条件,在数据库中查找,如果有记录的话,成功登陆,如果没有,就说明没有该用户,活着用户名错误

D. 怎么使用PHP PDO 写一个登录验证代码

  • <span style="font-size:18px;"><span style="font-size:18px;"><html>

  • <head>

  • <meta http-equiv="Content-Type" content="text/html; charset="utf-8" />

  • </head>

  • <?php

  • session_start(); //初始化session变量

  • $username = $_POST['name']; //接收表单提交的用户名

  • $password=md5($_POST['pwd']); //接收表单提交的密码

  • class chkinput //定义类

  • {

  • var $name;

  • var $pwd;

  • function chkinput($x,$y) //定义一个方法

  • {

  • $this->name=$x; //将管理员名称传给类对象$this->name

  • $this->pwd=$y; //将管理员密码传给类对象$this->pwd

  • }

  • function checkinput()

  • {

  • include("conn.php"); //连接数据库文件

  • $sql=mysql_query("select username,password from admin where username='".$this->name."' and password='".$this->pwd."'",$conn);

  • $info=mysql_fetch_array($sql); //检索管理员名称和密码是否正确

  • if($info==false) //如果管理员名称或密码不正确,则弹出相关提示信息

  • {

  • echo "<script language='javascript'>alert('您输入的管理员名称或密码错误,请重新输入!');history.back();</script>";

  • exit;

  • }

  • else //如果管理员名称或密码正确,则直接跳转到登陆成功后界面

  • {

  • echo "<script>window.location='home.php';</script>";

  • $_SESSION['admin_name']=$info['username']; //将管理员名称存到$_SESSION[admin_name]变量中

  • $_SESSION['pwd']=$info['password']; ////将管理员名称存到$_SESSION[pwd]变量中

  • }

  • }

  • }

  • $obj=new chkinput(trim($username),trim($password)); //创建对象

  • $obj->checkinput(); //调用类

  • ?>

  • </html></span></span>

E. 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

F. php验证登陆成功以后 如何实现弹框效果

这个简单点可以用js效果来实现

<scripttype="text/javascript">
alert('登录颤岁成功');
</script>

高级的都是写一茄历睁个弹出层div样式,然后判断你烂胡登录成功之后在显示出来,一般网站都是这样做的,通过设置弹出层样式来达到实现弹出框的效果,正常状态下是隐藏的,需要时才会显示出来。

G. php登录系统身份验证

login.html
<form
id="form1"
name="form1"
method="post"
action="checklogin.php">
<table
width="400">
<tr>
<th
width="27%"
scope="row">用户名</th>
<td
width="73%"><input
name="user_name"
type="text"
id="user_name"
/></td>
</tr>
<tr>
<th
scope="row">密码</th>
<td><input
name="user_pwd"
type="password"
id="user_pwd"
/></td>
</tr>
<tr>
<th
scope="row">请填写答案
</th>
<td><input
name="yzm"
type="text"
id="yzm"
size="5"
/>
123</td>
</tr>
<tr>
<td
colspan="2"
scope="row"><div
align="center">
<input
type="submit"
name="Submit"
value="
登录
"
/>
</div></td>
</tr>
</table>
</form>
checklogin.php
<?php
session_start();
require_once("../include/class/Mysql.class.php");
require_once("../include/class/FuncAdmin.class.php");
require_once("../include/class/Users.class.php");
$db
=
new
Mysql();
$db->getConnection(1);
$db->select_db();
$db->query("set
names
gb2312");
$f
=
new
FuncAdmin();
if(!empty($_POST['Submit'])){
//判断登录
$user_name
=
$_POST['user_name'];
$user_pwd
=
$_POST['user_pwd'];
$yzm
=
$_POST['yzm'];
//加强验证
//此处很重要但没写出呢cxmcook
if(empty($user_name)
||
empty($user_pwd)){
$f->alert_back("用户名与密码不能为空!");
}
$user
=
new
Users();
$sql
=
$user->get_select_sql("
where
user_name='".$user_name."'
and
user_pwd='".$user_pwd."'
");
$rs
=
$db->query($sql);
$row
=
$db->fetch_array($rs);
//var_mp($row);
//die("<hr>");
$rownum
=
$db->num_rows($rs);
//die('=========='.$rownum);
if(
$rownum
>0
){
//$row
=
$db->fetch_array($rs);
$_SESSION['admin']
=
'admin';
$_SESSION['user_id']
=
$row['user_id'];
$_SESSION['user_name']
=
$row['user_name'];
$_SESSION['user_realname']
=
$row['user_realname'];
$_SESSION['user_last_logintime']
=
$row['user_last_logintime'];
$_SESSION['user_last_loginIp']
=
$row['user_last_loginIp'];
$_SESSION['user_loginnum']
=
$row['user_loginnum'];
//header("Location:index.php");
echo
"<script>
alert('登录成功!".$_SESSION['user_realname']."');
location='index.php';
</script>";
}else{
$f->admin_tip("用户名或密码错误!");
}
}
?>

H. php登录验证第一次没反应,第二次可以登录成功

你登陆成功不要用这种js跳转,用php的header('Location: /index.php');
之所以你这种第一次不成功是由于cookie和session引起的,你填写完账号密码登陆,这是第一次请求session_start时候会对于这个sessionID生成一个cookie保存在你的客户端,然而cookie要起作用必需又是,下次请求的时候客户端带着cookie来服务器找回对应的session,因为你提交账号密码时候你本地还没有对应的cookie,所以必须是上一句说的(下次),衡袭橡你上面代码中的back是浏览器历史纪录的回退,并没有新建一个请求,所以没有跳转到index.php,如果你刷新了他找到了对应得session就自然会跳转

栗子:
你去面包店买蛋糕,你第一次去老板肯定不会给你蛋糕,你没给钱他也没把凭据给你,
然后你下了订单,老板写了一张单给你,自己留了一份底单,下次你带着底单过来的时候,他就会把你下单时候买的蛋糕给你(单据就类似于session 你的底单就相当于cookie)

怎么禅散改上面的代码就不说了,好咐旁好吃透cookie和session之间的原理你就会解决了

I. PHP里面的登录验证问题

这个登录判断有问题,很不安全,。第一,密码不区分大小写,也就是大写和小写都会进去,所以要先根据用户名来做,先看用户名在不在,如果存在,就查询出密码,然后将查询的密码和你接过来的密码判断,。第二,session登录的话,要开启session,还要注册,然后给session变量赋值,第三,登录的时候看前面一个地址是不是你的登陆地址,防止别人暴力破解。。兄弟,祝你好运,。我说的地方你注意下就可以了。、

J. 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");
?>

热点内容
云服务器项目实施方案 发布:2024-11-02 04:26:00 浏览:245
写入存储 发布:2024-11-02 04:20:21 浏览:30
JavaString替换 发布:2024-11-02 04:14:29 浏览:559
百度查询脚本 发布:2024-11-02 04:14:22 浏览:98
阴阳师ios如何登录安卓 发布:2024-11-02 04:03:03 浏览:708
服务器公网ip地址可以改吗 发布:2024-11-02 04:01:32 浏览:960
大内网没上传 发布:2024-11-02 04:00:52 浏览:912
光遇如何用账号和密码登录 发布:2024-11-02 04:00:07 浏览:415
政府存储肉 发布:2024-11-02 03:57:27 浏览:798
安卓91桌面怎么退出 发布:2024-11-02 03:42:50 浏览:672