项目默认存在的东西:jquery库[jquery.min.js]

登录功能实现的基本逻辑:

1.书写前台php功能基本页面:(index.php)

a.编写基本功能,比如用户名、密码、登录

b.引用jquery库[jquery.min.js]和页面用到的js[my.js]

注意:引用要放在<body最后>而且要先引用jquery库再引用my.js

2.书写js提交页面,主要包括要提交的内容(my.js)

a.点击登录按钮后对提交内容进行封装,采用ajax提交

3.对提交的js需求进行判断(login.js进行判断)

a.连接数据库配置文件 conn.php[其中包括数据库名密码路径等]

b.判断前台提交的用户名和密码是否正确

c.返回查询结果

4.前台页面显示执行的结果

a.用户名或密码错误

b.不允许为空等

c.成功跳转。

实际项目例子:

1.前台php功能页面:index.php

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="login">
      <h3>用户登录</h3>
    
      <div id="login_form">
          <p><label>用户名:</label> <input type="text" class="input" name="user" id="user" /></p>
          <p><label>密 码:</label> <input type="password" class="input" name="pass" id="pass" />
</p>
          <div class="sub">
              <input type="submit" class="btn" value="登 录" />
          </div>
      </div>
   
</div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/my.js"></script>
</body>
</html>

2.书写获取的信息并且进行封装提交 my.js[此处只以登录为例]

(function($) {  $(".btn").on('click',function(){

var user = $("#user").val();

var pass = $("#pass").val();

if(user==""){

$('<div id="msg" />').html("用户名不能为空!").appendTo('.sub').fadeOut(2000);

$("#user").focus();

return false;

}

if(pass==""){

$('<div id="msg" />').html("密码不能为空!").appendTo('.sub').fadeOut(2000);

$("#pass").focus();

return false;

}

$.ajax({

type: "POST",

url: "login.php?action=login",

dataType: "json",

data: {"user":user,"pass":pass},

beforeSend: function(){

$('<div id="msg" />').addClass("loading").html("正在登录...").css("color","#999")  .appendTo('.sub');

},

success: function(json){

if(json.success==1){

$("#login_form").remove();

var div =   "<div id='result'><p><strong>"

+ "</strong> 恭喜您登录成功!</p> "

</div>"

$("#login").append(div);

}else{

$("#msg").remove();

$('<div id="errmsg" />').html(json.msg).css("color","#999").appendTo('.sub')  .fadeOut(2000);

return false;

}

}

});

});

})(jQuery);

3.对my.js提交的用户名和密码进行检查,返回相应结果(login.php)

<?php
session_start();
require_once ('conn.php');
 
$action = $_GET['action'];
if ($action == 'login') {  //登录
    $user = stripslashes(trim($_POST['user']));
    $pass = stripslashes(trim($_POST['pass']));
    if (empty ($user)) {
        echo '用户名不能为空';
        exit;
    }
    if (empty ($pass)) {
        echo '密码不能为空';
        exit;
    }
   
    $query = mysql_query("select * from user where userId='$user'");
 
    $us = is_array($row = mysql_fetch_array($query));
 
    //$ps = $us ? $md5pass == $row['password'] : FALSE;
   
    $ps = $us ? $pass == $row['userpwd'] : FALSE;
    $arr['row'] = $row;
    if ($ps) {
  $rs = true;
        if ($rs) {
            $arr['success'] = 1;
            $arr['msg'] = '登录成功!';
            $arr['user'] = $_SESSION['user'];
            $arr['login_time'] = date('Y-m-d H:i:s',$_SESSION['login_time']);
            $arr['login_counts'] = $_SESSION['login_counts'];
        } else {
            $arr['success'] = 0;
            $arr['msg'] = '登录失败';
        }
    } else {
        $arr['success'] = 0;
        $arr['msg'] = '用户名或密码错误!';
    }
    echo json_encode($arr); //输出json数据
}
elseif ($action == 'logout') {  //退出
    unset($_SESSION);
    session_destroy();
    echo '1';
}

4.conn.php

<?php

/* 数据库的配置*/

$server_name = $_SERVER['HTTP_HOST'];

error_reporting(E_ERROR);

define('DB_HOST', 'localhost');

define('DB_USER', 'root');

define('DB_CHARSET', 'utf-8');

define('DB_NAME', 'test');

$server_name = 'localhost/Test';

define('DB_PWD', '1234');

$db = mysql_connect(DB_HOST, DB_USER, DB_PWD) or die ("数据库连接错误: ".mysql.error());

mysql_select_db(DB_NAME, $db);

mysql_set_charset(DB_CHARSET,$db);

mysql_query('set names utf8'); ?>

项目框架展示:

登录页面展示:

成功登录结果展示:

php之登录功能实现。的更多相关文章

  1. SuperMap-iServer-单点登录功能验证(CAS)

    SuperMap-iServer-单点登录功能验证(CAS) 1.测试目的: 验证SuperMap-iServer使用CAS单点登录的功能是否正常. 2.测试环境: SuperMap-iServer8 ...

  2. 一步步开发自己的博客 .NET版(3、注册登录功能)

    前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做 ...

  3. 从无到有实现登录功能以及thinkphp怎么配置数据库信息

    好开心,终于解决了.从学习android到现在写登录功能已经不是一次两次了,如今再写想着肯定是信手拈来,没有想到的是尽然折磨了我一天的时间才搞定它.唉...... 先来看几张截图,这次的登录跟以往的不 ...

  4. 如何在ios中集成微信登录功能

    在ios中集成微信的登录功能有两种方法 1 用微信原生的api来做,这样做的好处就是轻量级,程序负重小,在Build Settings 中这样设置 然后设置 友盟的设置同上,但是要注意,加入你需要的所 ...

  5. DWR实现扫一扫登录功能

    前言 <DWR实现后台推送消息到Web页面>一文中已对DWR作了简介,并列出了集成步骤.本文中再一次使用到DWR,用以实现扫一扫登录功能. 业务场景 web端首页点击"登陆&qu ...

  6. Struts+Hibernate+Spring实现用户登录功能

    通过登录案例实现三大框架之间的整合,登录功能是任何系统和软件必不可少的一个模块,然而通过这个模块来认识这些复杂的框架技术,理解数据流向和整个设计思路是相当容易的.只有在掌握了这些小模块的应用后,才能轻 ...

  7. Struts2整合Hibernate3实现用户登录功能

    所用技术:struts2 ,hibernate,jsp,mysql 本DEMO仅仅实现用户登录功能,采用MVC思想,自己也觉得相对是比较简单,比较容易理解数据流向的一个例子,通过整合这个过程,能够清晰 ...

  8. 网站集成QQ登录功能

    最近在做一个项目时,客户要求网站能够集成QQ登录的功能,以前没做过这方面的开发,于是去QQ的开放平台官网研究了一下相关资料,经过自己的艰苦探索,终于实现了集成QQ登录的功能,现在把相关的开发经验总结一 ...

  9. yii2.0自动登录功能的实现方法

    参考地址:http://www.kuitao8.com/20150518/3747.shtml 自动登录的原理很简单.主要就是利用cookie来实现的在第一次登录的时候,如果登录成功并且选中了下次自动 ...

随机推荐

  1. [No000068]document.body.clientHeight 和 document.documentElement.clientHeight 的区别

    document.body.clientWidth ==> BODY对象宽度 document.body.clientHeight ==> BODY对象高度 document.docume ...

  2. android:exported 属性详解

    属性详解 标签: android 2015-06-11 17:47 27940人阅读 评论(7) 收藏 举报 分类: Android(95) 项目点滴(25) 昨天在用360扫描应用漏洞时,扫描结果, ...

  3. SpringFrameWork 上下文工具类

    //Servlet上下文ServletContext application = event.getServletContext(); //Spring应用上下文ApplicationContext ...

  4. Map接口,Map.Entry,hashMap类,TreeMap类,WeakHashMap。

    Collection接口之前接触过,每次保存的对象是一个对象,但是在map中保存的是一对对象,是以key->value形式保存的. 定义: public interface Map<K,V ...

  5. codevs 2495 水叮当的舞步

    题目链接:水叮当的舞步 我现在开始发题目链接了(主要还是因为懒得整理题面)-- 这道题一开始是看到MashiroSky在写,于是我也开始写这道题了(说白了就是狙击他)-- 这道题看到这么小的范围当然给 ...

  6. mysql utf8编码

    做微信项目,报错 "Incorrect string value: '\\xF0\\x9F\\x98\\x8B' for column 'nickname' at row 1" 原 ...

  7. 【笔记6】用pandas实现条目数据格式的推荐算法 (基于物品的协同)

    ''' 基于物品的协同推荐 矩阵数据 说明: 1.修正的余弦相似度是一种基于模型的协同过滤算法.我们前面提过,这种算法的优势之 一是扩展性好,对于大数据量而言,运算速度快.占用内存少. 2.用户的评价 ...

  8. SqlMetal.exe ORM代码生成

    作甚? 先说说这个工具是干啥的,我们所做的程序,或多或少需要存储一些数据到数据库,当然直接使用Sql语句也可以,甚至有些情况下就是要使用sql语句,但对于一些基本的增删改查,对每张表都要写查询语句就显 ...

  9. JS组件系列——使用HTML标签的data属性初始化JS组件

    前言:最近使用bootstrap组件的时候发现一个易用性问题,很多简单的组件初始化都需要在JS里面写很多的初始化代码,比如一个简单的select标签,因为仅仅只是需要从后台获取数据填充到option里 ...

  10. unsafe clr sql 部署向导

    1.部署安全权限的简单的程序集,非常简单,只需要正常发布就行,基本可以成功,前提是账号有部署clr assembly的权限 第一步: 创建登陆账号,尽量不要使用sa吧,默认架构为:dbo即可 第二部: ...