客商登入模块的后端完结,PHP怎么着通过AJAX格局实现登陆作用_php实例_脚本之家

 联系我们     |      2020-01-29 15:46

本文实例讲述了Ajax+PHP+MySQL登陆示例。分享给大家供大家参考。具体如下:运行效果截图如下:

前述两篇文章“客商登入模块的后端完结,PHP怎么着通过AJAX格局实现登陆作用_php实例_脚本之家。使用BootStrap制作用户登录UI”和“使用BootStrapValidator来完成前端输入验证 ”已经将用户登陆的界面和验证进行了实现,现在看看后端要做的事情(基于ThinkPHP5)。举例来说,比如当学生登陆成功后则进入学生界面,在这个界面中,学生可以提交作业,查看自己作业的批改情况。当用户在前述界面中输入了用户名和密码,选择了学生用户后,点登陆,会进入dologin方法(位于controllerindexaccountdologin),代码如下:

1 login.php登录界面中,javascript脚本用ajax方式异步请求dologin.php,dologin.php负责用户信息验证.登录界面的代码如下:

图片 1

  login     function chkForm() { if .value == "") { alert; m$; return false; } if .value == "") { alert; m$; return false; } if .value != "" && m$.value != "") { var xmlhttp = createRequest { m$.innerHTML = "<font color='red'>loading...</font>"; var username = m$.value; var pwd = m$.value; var code = m$.value; var url = "dologin.php"; xmlhttp.open; xmlhttp.onreadystatechange = ValidateResult; xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.send("username=" + escape + "&password=" + escape + "&code=" + escape; } else { alert; } function ValidateResult() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { if (xmlhttp.responseText != "") { //window.alert; var obj = eval("(" + xmlhttp.responseText + ")"); if  { alert; window.location = 'index.php'; } else { alert; } } else { window.alert; window.location.reload.innerHTML = ""; } } } } } function m$ { return document.getElementById; } function changeCode() { var xmlhttp = createRequest { m$.innerHTML = "<font color='red'>loading...</font>"; var dt = new Date; // alert; var url = "function/imagecode.php?dummay" + escape; xmlhttp.open; xmlhttp.onreadystatechange = ValidateResult; xmlhttp.send; } else { alert; } function ValidateResult() { if (xmlhttp.readyState == 4) { if (xmlhttp.status == 200) { var dt = new Date; var url = "function/imagecode.php?dummay" + escape.src = "function/imagecode.php?dummay" + escape.innerHTML = ""; } } } } function showTool.css; } function hideTool.css; } window.onload = initPage; function initPage.css; }         Ajax PHP Demo System   
   Author:wangming  DateTime:2009-9-1 Version:1.0.0 Email:wangmingemail@163.com     
 姓名:wangming
 电商06-2
         ©Copyright 2015.  
public function dologin()
    {
        $kind=$_POST['kind'];
        if($kind=='tea')
        {
            $user=UserModel::get(['username'=>$_POST['username'],'password'=>md5($_POST['pwd'])]);
            if($user)
            {
                if($user->power=='common')
                    echo '教师登陆成功';
                else 
                    echo '管理员登陆成功';
            }

        }else 
        {
            $stu=StuModel::get(['stu_no'=>$_POST['username'],'password'=>md5($_POST['pwd'])]);
            if($stu)
            {
                $_SESSION['stuno']=$stu->stu_no;
                $this->success('登陆成功','Student/'.$stu->stu_no);
            }
            else 
            {
                $this->error('用户名或密码错误');
            }
        }
    }

2 ajaxhelper.js

图片 2

function createRequest() { try { request = new XMLHttpRequest { try { request = new ActiveXObject; } catch  { try { request = new ActiveXObject; } catch  { request = null; } } } return request;}function getActivatedObject { // early version of IE obj = window.event.srcElement; } else if  { // IE 7 or later obj = e.srcElement; } else { // DOM Level 2 browser obj = e.target; } return obj;}function addEventHandler(obj, eventName, handler) { if  { obj.attachEvent("on" + eventName, handler); } else if (document.addEventListener) { obj.addEventListener(eventName, handler, false); }}

这里只对学生逻辑进行了简单的实现。当学生登陆成功后会进入 Student控制器的index方法中,当然需要在rote.php中配置如下路由:

3 dologin.php

'index/student/:stuno'=>'index/student/index'

4 conn.php

在Student控制器中可以如下处理:

 5 

图片 3

与登录无关,只为了记录一下PHP如何在数据库MYSQL上实现CURD操作.

<?php
namespace appindexcontroller;
use thinkController;
use appindexmodelStudent as StuModel;
class Student extends Controller{
    public function index($stuno)
    {
        $stu=StuModel::get(['stu_no'=>$stuno]);
        echo "欢迎登陆学生界面 ".$stu->stu_name;
    }
}

以上就是告诉了大家PHP如何通过AJAX方式实现登录功能,希望对大家的学习有所帮助。

图片 4

这里只是简单的阐述了处理和跳转逻辑,当然实际开发中肯定有更丰富的功能和逻辑,以点盖面吧,希望对你有所帮助。

下面是登陆成功后的页面:

图片 5

 

本文首发顶求网,由作者原创,如需转载请注明出处。