mysqli 简单的php注册登录功能

    与php的数据交互通过ajax完成,提交信息不会刷新页面

  如果想要直接与php交互数据,可以省去JavaScript部分

  先上几个图

    

   登录界面:

   

    注册界面

  

    注册成功,会有一个注册信息的弹窗

    

  登录界面,同样也有个弹窗

  

  如果用不存在的账号登录或者密码错误,会简单进行一个错误提示

    

下面是代码

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="css/index.css">
</head>

<body>
    <div class="root">
        <div id="mainlogin" class="main">
            <div class="inputbox">
                <div class="username">
                    <span>用户名:</span>
                    <input id="login_uname" class="uname" type="text" name=‘login_username‘
                        placeholder="请输入用户名"><br><br>
                </div>
                <div class="password">
                    <span>密&nbsp;&nbsp;&nbsp;码:</span>
                    <input id="login_pwd" class="pwd" type="password" name=‘login_password‘ placeholder="请输入密码">
                </div>
            </div>
            <!-- 登录 -->
            <div id="logincontent" class="btnbox">
                <div class="btn">
                    <button id="loginbtn" class="button">登&nbsp;&nbsp;&nbsp;录</button>
                </div>
                <div class="tohref">
                    <span>没有账号?</span><a id="toregist" class="href" href="javascript:;">点击去注册</a>
                </div>
            </div>
            <!-- 注册 -->
            <div id="registcontent" class="btnbox active">
                <div class="btn">
                    <button id="registbtn" class="button">注&nbsp;&nbsp;&nbsp;册</button>
                </div>
                <div class="tohref">
                    <a id="tologin" class="href" href="javascript:;">去登录</a>
                </div>
            </div>
        </div>
    </div>
    <script src="js/index.js"></script>
</body>

</html>

  CSS

a{
    text-decoration: none;
}
span{
    cursor: default;
}
.root{
    text-align: center;
}
.main{
    width: 400px;
    height: 300px;
    background:#2eafe0;
    border: #f9bb48 2px solid;
    border-radius:20px;
    position: relative;
    margin: 200px auto 0;
}
.username,.password{
    font-size: 30px;
    color:#b94242;
}
.uname,.pwd{
    width: 200px;
    height: 40px;
    border: #e6ec6f 1px solid;
    border-radius: 8px;
    font-size: 25px;
}
#registcontent{
    position: absolute;
    left:100px;
    top:152px;
}
#logincontent{
    position: absolute;
    left:100px;
    top:152px;
}
.inputbox{
    margin-top: 20px;
}
.btnbox{
    margin-top: 30px;
    justify-content: space-around;
}
.button{
    width: 200px;
    height: 45px;
    color: #f6f7dc;
    background: #e28003;
    border: #c7e02e 1px solid;
    font-size: 25px;
    border-radius:10px;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 0;
}
.tohref{
    width: 200px;
    height: 20px;
    margin-top: 30px;
    position: absolute;
    left: 0;
    top: 40px;
    animation: href 1s 2s;
}
.href{
    color: #ab2011;
    cursor: pointer;
}
.active{
    display: none;
}
.animation{
    animation: btn 1.5s;
}
@keyframes btn{
    0%{
        top:-184px ;
    }
    20%{
        top:0 ;
    }
    40%{
        top: -100px;
    }
    60%{
        top: 0;
    }
    80%{
        top: -50px;
    }
    100%{
        top: 0;
    }
}
@keyframes href{
    0%{
        top: 40px;
        transform: rotateY(-360deg);
        font-size: 20px;
    }
    100%{
        top: 40px;
        transform: rotateY(0deg);
        font-size: 16px;
    }
}

JavaScript

window.onload = function (){
    var regist = document.getElementById(‘registbtn‘);
    var login = document.getElementById(‘loginbtn‘);
    var tologin = document.getElementById(‘tologin‘);
    var toregist = document.getElementById(‘toregist‘);
    var logincontent = document.getElementById(‘logincontent‘);
    var registcontent = document.getElementById(‘registcontent‘);
    var loginbtn = document.getElementById(‘loginbtn‘);
    var registbtn = document.getElementById(‘registbtn‘);
    // 切换到登录按钮
    tologin.onclick = function (){
        logincontent.className = ‘btnbox‘;
        registcontent.className = ‘btnbox active‘;
        loginbtn.className = ‘button animation‘;
        registbtn.className = ‘button‘;
    }
    // 切换到注册按钮
    toregist.onclick = function (){
        logincontent.className = ‘btnbox active‘;
        registcontent.className = ‘btnbox‘;
        loginbtn.className = ‘button‘;
        registbtn.className = ‘button  animation‘;
    }

    // 注册
    regist.onclick = function (){
        var registname = document.getElementById(‘login_uname‘).value;
        var registpwd = document.getElementById(‘login_pwd‘).value;
        var type = ‘regist‘;
        if(window.XMLHttpRequest){
            xhr = new XMLHttpRequest();
        }else{
            xhr = new ActiveXObject(‘Microsoft.XMLHTTP‘);
        }

        xhr.onreadystatechange = function (res){
            if(xhr.readyState == 4 && xhr.status == 200){
                alert(xhr.responseText);
            }
        }
        xhr.open(‘POST‘,‘index.php‘,true);
        xhr.setRequestHeader(‘Content-type‘,‘application/x-www-form-urlencoded‘);
        xhr.send(‘login_username=‘+registname+‘&login_password=‘+registpwd+‘&type=‘+type);
    }
    // 登录
    login.onclick = function (){
        var loginname = document.getElementById(‘login_uname‘).value;
        var loginpwd = document.getElementById(‘login_pwd‘).value;
        var type = ‘login‘;
        // alert(loginname);
        // alert(loginpwd);
        if(window.XMLHttpRequest){
            xhr = new XMLHttpRequest();
        }else{
            xhr = new ActiveXObject(‘Microsoft.XMLHTTP‘);
        }
        xhr.onreadystatechange = function (res){
            if(xhr.readyState == 4 && xhr.status == 200){
                alert(xhr.responseText);
            }
        }
        xhr.open(‘POST‘,‘index.php‘,true);
        xhr.setRequestHeader(‘Content-type‘,‘application/x-www-form-urlencoded‘);
        xhr.send(‘login_username=‘+loginname+‘&login_password=‘+loginpwd+‘&type=‘+type);
    }
}

PHP

<?php
header(‘Content-type:text/html;charset:utf-8‘);
// 服务器
$server = ‘localhost‘;
// 用户名
$db_username = ‘root‘;
// 密码
$db_password = ‘root‘;
// 连接数据
$con = new mysqli($server,$db_username,$db_password);
// var_dump($con);
// 判断是否连接成功
if($con->connect_error){
    die(‘数据库连接失败‘);
}
// 选择数据库
mysqli_select_db($con,‘adopey‘);
// $registName=$_REQUEST[‘regist_username‘];
// $registPassword=$_REQUEST[‘regist_password‘];
$loginName=$_REQUEST[‘login_username‘];
$loginPassword=$_REQUEST[‘login_password‘];
$type=$_REQUEST[‘type‘];
// 注册
if($type==‘regist‘){
   // 向表中插入注册信息
$registinfo = "insert into usera (uname,upwd) VALUES(‘$loginName‘,‘$loginPassword‘)";
mysqli_query($con,$registinfo);
// 注册信息
echo ‘注册成功 用户名:‘.$loginName.‘ 密码:‘.$loginPassword;
}
// 注册部分结束

// 登录部分
if($type==‘login‘){
   // 检查用户名和密码是否匹配
$check="SELECT * FROM usera WHERE uname=‘$loginName‘ and upwd=‘$loginPassword‘";
$login=mysqli_query($con,$check);//$login是obiect,是mysqli_result类型
// 把结果转换成数字类型,$login里面有个‘num_rows‘,值为0或1
$res=mysqli_num_rows($login);//判断是否为0
if($res){
    echo $loginName.‘,您已登陆成功‘;
}else{
    echo ‘用户名或密码错误‘;
}
}

// 关闭数据库
mysqli_close($con);

原文地址:https://www.cnblogs.com/zhangcheng001/p/11173364.html

时间: 2024-08-30 04:35:24

mysqli 简单的php注册登录功能的相关文章

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

前言 这次开发的博客主要功能或特点:    第一:可以兼容各终端,特别是手机端.    第二:到时会用到大量html5,炫啊.    第三:导入博客园的精华文章,并做分类.(不要封我)    第四:做个插件,任何网站上的技术文章都可以转发收藏 到本博客. 所以打算写个系类:<一步步搭建自己的博客> 一.一步步搭建自己的博客  .NET版(1.页面布局.blog迁移.数据加载) 二.一步步搭建自己的博客  .NET版(2.评论功能) 三.一步步搭建自己的博客  .NET版(3.注册登录功能) 四

8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能

现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http://www.cnblogs.com/shensigzs/category/1147235.html 在此基础上才能做手机注册功能,没有完成的同学请先去整合后再回来. 语言文件 AbpZeroTemplate-zh-CN.xml文件末尾添加如下键值对: 文件路径:D:\abp version\asp

Thinkphp -- 利用MVC模式完成注册登录功能

这是一篇记录向,记录我后台的学习过程. 如有不正确的地方,请多多指教. 基础知识: MVC即 Model View Controller Model(模型)表示应用程序核心(比如数据库记录列表). View(视图)显示数据(数据库记录). Controller(控制器)处理输入(写入数据库记录). (图源https://www.runoob.com/design-pattern/mvc-pattern.html) 当我们浏览一个网页的时候首先会访问到View(视图层) 在我们输入用户名密码之后,

node.js基于express框架搭建一个简单的注册登录Web功能

这个小应用使用到了node.js  bootstrap  express  以及数据库的操作 :使用mongoose对象模型来操作 mongodb 如果没了解过的可以先去基本了解一下相关概念~ 首先注明一下版本,因为express因为版本的不同使用的方式也不同,我这算是目前最新的了吧 还没有装express的可以移步到这里 看看express框架的获取安装 1.简单地项目初始化 进入你的nodejs安装路径下边,如图,然后执行命令  express -e test  (这里把项目名设置为test

JSP注册登录页教程

转载请标明原文地址:http://www.cnblogs.com/zhangyukof/p/6785258.html  一.准备工作 已搭建好的SSH框架工程一个,如果没有,请参考我的上一篇文章<SSH框架搭建详细图文教程>. 二.登陆功能 1.打开MyEclipse切换到MyEclipse DataBase Explorer视图,右键user表选择"Hibernate Reverse Engineering",通过Spring框架的逆向工程功能把user表逆向生成Java

安卓通过Json注册登录

对于刚开始做安卓的来说,可能一个好的Demo比什么都来得快,但是最近在做安卓登录注册的时候,发现基本找不到我想要的东西,无奈只好硬着头皮做,好在不负付出,终于搞定,也算是给自己一个交待. 从结构上说,这个代码并不好,只是简单实现了注册登录的功能,有需要的盆友撸过去.包含完整的android端和服务器端代码及测试json文件,数据库. 啥都不说了,说多了全是泪,这些天累得够呛.发完代码好好睡一觉.     下载地址:http://pan.baidu.com/s/1sjyObH7 上几张图大家先爽爽

html注册登录模板

原文:html注册登录模板 源代码下载地址:http://www.zuidaima.com/share/1583349008108544.htm 非常简单实用的注册登录模板,页面也很美观. 版权声明:本文为博主原创文章,未经博主允许不得转载.

S2SH注册登录

原文:S2SH注册登录 源代码下载地址:http://www.zuidaima.com/share/1587139713076224.htm 简单的S2SH注册登录Demo,三大框架全部为最新jar包,使用idea IDE jar包截图: 版权声明:本文为博主原创文章,未经博主允许不得转载.

基于后端云的Android注册登录开发

APP开发离不开注册登录功能,但是注册登录功能开发需要后台数据库的支持,对于一些初学者或者对后台数据 不熟悉的同学来说可能会有些困难.本文介绍一下后端云: 1. Bmob是国内起步较早的云后端服务平台,提供了云数据库.消息推送.即时通讯.安全验证.移动支付等丰富的 功能服务,且这些服务有个人免费版. Bmob官网:https://www.bmob.cn/ 如何使用Bmob进行开发Bmob的文档写的很清楚,这里就不当搬运工啦. 2.另外,现在介绍一下另一个Android开发者服务平台MOB,MOB