验证码登录,MYSQL会员系统的登陆即权限判断实现代码

CA88新登入 1

CA88新登入 2

复制代码 代码如下:

这个是PHP会员登录,这个源码我是看PHP100视频教程学的,我分享给大家看看,其实呢?PHP登录可以有许多写法,但是这种写法是很安全,包括了权限及登录超时。

以上,我写的验证码不好看,没有用到Ajax和JavaScript来优化!

error_reporting(0);
session_start();
//数据库连接
$conn = mysql_connect(‘localhost’, ‘root’, ”);
mysql_select_db(‘chenkun’, $conn);
mysql_query(‘SET NAMES UTF-8’);
//定义常量
define(‘ALL_CA88新登入,PS’, ‘PHP’);
function user_shell($uid, $shell, $m_id) {
$sql = “select * from admin where uid=’$uid'”;
$query = mysql_query($sql);
$row = mysql_fetch_array($query);
$shell = is_array($row) ? $shell == md5($row[‘username’] .
$row[‘password’] . ALL_PS) : FALSE;
if ($shell) {
if ($row[‘m_id’] <= $m_id) {
return $row;
}
echo “你的权限不足”;
exit ();
} else {
echo “你无权限访问该页”;
exit ();
}
}
function user_mktime($onlinetime) {
$new_time = mktime();
if (($new_time – $onlinetime) > ‘900’) {
session_destroy();
echo “登陆超时”;
exit ();
} else {
$_SESSION[‘times’] = mktime();
}
}
?>

以下是源码;

我写了好几天验证码程序,都没有写成功!今天我写了验证码程序,可以验证啦!分享给大家!

PHP+MYSQL会员系统的登陆即权限判断
包含三个页面,cogfig页面是被包含页面。denglu页面负责提交,session赋值等,denglu_link页面负责权限判断的演示。
本例事先已存在test数据库,user_list表,表中有uid,m_id,username,password四个字段。并且password字段已经经过md5加密,形式是:md5(”用户密码”.ALL_PS),即用户输入的密码加常量进行加密。
config.php页面:
复制代码 代码如下:

登录源码:

<?php
/*
Admin登陆
*/
include(“conn.php”);
session_start();
if($_POST[cehck]){
     if($_POST[cehck]==$_SESSION[check_pc]){
//这一句是来判断验证码,如果OK,就执行以下用户名和密码,否则验证码错误
md5(“admin”.ALL_PS);
if($_POST[submit]){
$username=$_POST[‘username’];
$sql=”select * from user_list
where username=’$username'”;
$query=mysql_query($sql);
$us=is_array($row=mysql_fetch_array($query));
$ps=$us ? md5($_POST[password].ALL_PS)==$row[password] : FALSE;
if($ps){
    $_SESSION[uid]=$row[uid];
    $_SESSION[user_shell]=md5($row[username].$row[password].ALL_PS);
    $_SESSION[times]=mktime();//登陆的时间
    echo
“<center><b><font color=red>登陆成功</b>”;
}
}else{
    echo
“<center><b><font
color=red>用户名和密码错误</b>”;
    session_destroy();
}

//启动session
session_start();
//数据库连接
$conn=mysql_connect(‘localhost’,’root’,’******’);
mysql_select_db(‘test’,$conn);
//定义常量
define(“ALL_PS”,”php100″);
//判断权限函数
function user_shell($uid,$shell){
$sql=”SELECT * FROM `user_list` WHERE `uid` = ‘$uid'”;
$query=mysql_query($sql);
$exist=is_array($row=mysql_fetch_array($query));
$exist2=$exist?$shell==md5($row[‘username’].$row[‘password’].ALL_PS):FALSE;
if($exist2){
return $row;
}else{
echo “你无权限访问该页”;
exit();
}
}
?>

<?php
/*
Admin登陆
*/
include(“conn.php”);
md5(“admin”.ALL_PS);
if($_POST[submit]){
$username=$_POST[‘username’];
$sql=”select * from user_list
where username=’$username'”;
$query=mysql_query($sql);
$us=is_array($row=mysql_fetch_array($query));
$ps=$us ? md5($_POST[password].ALL_PS)==$row[password] : FALSE;
if($ps){
    $_SESSION[uid]=$row[uid];
    $_SESSION[user_shell]=md5($row[username].$row[password].ALL_PS);
    $_SESSION[times]=mktime();//登陆的时间
    echo
“<center><font color=red>登陆成功“;
}//做个验证码判断
}else{
    echo “<center><font
color=red>用户名和密码错误
“;
    session_destroy();
}
if($_POST[cehck]){
if($_POST[cehck]==$_SESSION[check_pc]){
    echo “验证码正确”;
}else{
    echo “验证码错误”;
}
}
?>

     }else{
         echo “<font
color=red><center>验证码错误”;
     }

denglu.php页面:
复制代码 代码如下: