很多站长朋友们都不太清楚php登录身份辨别,今天小编就来给大家整理php登录身份辨别,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php如何保持登陆身份? 2、 怎样用php编写用户选择身份登录到相应界面的代码?话说用户组是什么?(渣渣不懂) 3、 thnkphp3.2.3中怎么判断用户身份 4、 php登录系统身份验证 5、 php的怎么用身份证号来做帐号判断代码 6、 运用php做身份验证为什么输入错误信息也可以成功登录? php如何保持登陆身份?判断登陆正确后,将用户名等信息写入session
比如登陆页面的代码如下:
session_start();//开启session
$UserName = $_POST['userName'];
//然后进行数据库比对
if (登陆信息正确){
$_SESSION['username'] = $UserName;//将用户名写入session
}
然后你在其他页面需要判断是否登录就如下代码:
session_start();//开启session
$UserName = $_SESSION['username'];//取出session中的值
if ( empty( $UserName) ) { //判断取出的session的值是否为为空,如果为空则说明没有登陆
echo '未登陆';
}
原理大致就是像上面这样
怎样用php编写用户选择身份登录到相应界面的代码?话说用户组是什么?(渣渣不懂)用户组应该是指用户权限吧,你在表示用户的数据表中加一个整数字段用来表示权限,确定好每个数字代表的意思,比如0代表管理员,1代表普通用户。然后你用php对每个登录的用户进行权限识别,让它分别跳转到不同页面就可以了
thnkphp3.2.3中怎么判断用户身份判断用户身份可以根据用户的IP地址来判断,获取用户真实的IP地址方法我在下文发你了,可以直接放在Application下的Common里的function.php文件里就可以了
function getIP() {
static $realip;
if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
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_dump($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("用户名或密码错误!");
}
}
?>
php的怎么用身份证号来做帐号判断代码写了几个身份证方面的函数,个人感觉挺有用的,特别是在网络问卷调查时,对个人信息里的身份证进行验证很有用,但是应者寥寥,还是收在自己的blog里算了。
<?php
// 计算身份证校验码,根据国家标准GB 11643-1999
function idcard_verify_number($idcard_base){
if (strlen($idcard_base) != 17){ return false; }
// 加权因子
$factor = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
// 校验码对应值
$verify_number_list = array(’1’, ’0’, ’X’, ’9’, ’8’, ’7’, ’6’, ’5’, ’4’, ’3’, ’2’);
$checksum = 0;
for ($i = 0; $i < strlen($idcard_base); $i++){
$checksum += substr($idcard_base, $i, 1) * $factor[$i];
}
$mod = $checksum % 11;
$verify_number = $verify_number_list[$mod];
return $verify_number;
}
// 将15位身份证升级到18位
function idcard_15to18($idcard){
if (strlen($idcard) != 15){
return false;
}else{
// 如果身份证顺序码是996 997 998 999,这些是为百岁以上老人的特殊编码
if (array_search(substr($idcard, 12, 3), array(’996’, ’997’, ’998’, ’999’)) !== false){
$idcard = substr($idcard, 0, 6) . ’18’. substr($idcard, 6, 9);
}else{
$idcard = substr($idcard, 0, 6) . ’19’. substr($idcard, 6, 9);
}
}
$idcard = $idcard . idcard_verify_number($idcard);
return $idcard;
}
// 18位身份证校验码有效性检查
function idcard_checksum18($idcard){
if (strlen($idcard) != 18){ return false; }
$idcard_base = substr($idcard, 0, 17);
if (idcard_verify_number($idcard_base) != strtoupper(substr($idcard, 17, 1))){
return false;
}else{
return true;
}
}
?>
其中的$idcard_base是指身份证中的本位码,本位码是18位身份证里才有的,也就是18位身份证的前17位,最后一位称为校验码
一般在使用的时候不用直接调用idcard_verify_number(),平时的应用大多是使用后两个函数,这些函数都没有关心身份证字符串的格式问题,在调用前自行进行格式检查。
运用php做身份验证为什么输入错误信息也可以成功登录?<?php
$mysql = mysqli_connect("localhost","root","root");
if(!$mysql)
{ echo "无法连接!";
exit;}
$selected = mysqli_select_db($mysql,'test');
if(!$selected)
{echo "找不到数据库!";
exit;}
mysqli_query($mysql,"set names utf8");
//当查询为空时返回的是一个对象类型数据,不是false
$result=mysqli_query($mysql,"select * from a_client where username='aa' and password='aa'");
//var_dump($result);
//获取结果集中的记录,再强制类型转换
$row=(bool)mysqli_fetch_row($result);
if($row)
{
echo "<script>alert('登录成功!');</script>";
}
else
{
echo "<p>输入错误!</p>";
}
?>
关于php登录身份辨别的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php登录身份辨别 php验证登录的详细内容...