ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解


Posted in PHP onJuly 20, 2017

正好最近的域名备案通过了,兴起就突然想做一个网页,虽然之前去备案域名也是有这个目的。

问过几个人,说用linux上用PHP搭建网站很简单,就试着做了一个,这里主要说一下登录验证相关的部分;

首相准备几个文件,主要是index.php、conn.php、data.php以及login.php;

login.php 主要是登录过程中的数据对比部分;其中include ('conn.php')内容在下面有说。

<?php
if(!isset($_POST['submit'])){
 exit('login in error.');
}
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);
include('conn.php');
echo"$password";
$check_query = mysqli_query($result,"select USERID from USERINFO where EMAIL='$username' and PASSWORD='$password' limit 1");
if($ret = mysqli_fetch_array($check_query)){

 echo'connect true.';
}
else
{
 echo'connect false';
}
?>

另外要注意的是:关于$_POST针对的是form中的method =“post”中的内容。

因为里面用到MD5加密的方式,所以说一下,在后台数据库加密的时候也需要用到MD5加密的方式update数据,具体方式如下:

UPDATE USERINFO SET PASSWORD = md5('root') WHERE USERID = 1000;

其中的表格以及具体查询位置根据个人数据库而定。

conn.php 主要是跟mysql数据库连接相关的操作,分为数据库连接,以及数据库选择部分(注意数据库连接的返回值取值,不要随便起,后边引用的时候是用得着的。)

<?php
try{
$result = mysqli_connect('localhost','root','root');
mysqli_select_db($result,'WEBDATAS');
}catch(Exception $e)
{
 echo $e->message;
 exit;
}
if(!$result)
{
 return false;
}
echo "ok\n";
?>

剩下的主要是index.php 该文件是主页相关了,我只把登录相关的部分拿出来说明一下(这里用到的是boostrap中的模板,有兴趣的可以百度一下boostrap)

<?php
session_start();
include_once('data.php');

$handle = db_connect();
if(!$handle){
 echo 'Did not access to the database';
}else{
 echo'connect success';
}
?>

其中包含的data.php登录部分如下:

<div class="modal fade" tabindex="-1" role="dialog" id="login">
   <div class="modal-dialog" role="document">
    <div class="modal-content">
     <div class="modal-header">
      <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
      <h3 class="modal-title">ログイン</h3>
     </div>
     <div class="modal-body">
      <form class="form-signin" action="login.php" method = "post">
       <h4 class="form-signin-heading">利用者名 パスワ?ド 入力</h4>
       <label for="inputEmail" class="sr-only">利用者名</label>
       <input type="email" name="username" id="inputEmail" class="form-control" placeholder="利用者名を入力" required autofocus>
       <label for="inputPassword" class="sr-only">パスワ?ド</label>
       <input type="password" name="password" id="inputPassword" class="form-control" placeholder="パスワ?ド" required>
       <div class="checkbox">
        <label>
        <input type="checkbox" value="remember-me"> ログイン状?Bを保持
       </label>
       </div>
       <button class="btn btn-lg btn-primary btn-block" type="submit" name="submit">ログイン</button>
      </form>
     </div>
     <div class="modal-footer">
      <button type="button" class="btn btn-default" data-dismiss="modal">クロ?ズ</button>
     </div>
    </div>
    <!-- /.modal-content -->
   </div>
   <!-- /.modal-dialog -->
  </div>

基本关于登录验证部分就是这些,主要是与数据库的数据进行对比,一开始用的对称加密的方式,对加密的方式还没有仔细去研究,后面有机会再仔细看一下就好。

以上这篇ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php使用qr生成二维码的示例分享
Jan 20 PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 PHP
php基于base64解码图片与加密图片还原实例
Nov 03 PHP
ThinkPHP内置jsonRPC的缺陷分析
Dec 18 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
从性能方面考虑PHP下载远程文件的3种方法
Dec 29 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
浅谈PHP的$_SERVER[SERVER_NAME]
Feb 04 PHP
php实现用户登陆简单实例
Apr 04 PHP
Laravel框架Request、Response及Session操作示例
May 06 PHP
Laravel中正确地返回HTTP状态码方法示例
Sep 10 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 #PHP
ThinkPHP框架表单验证操作方法
Jul 19 #PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 #PHP
关于ThinkPhp 框架表单验证及ajax验证问题
Jul 19 #PHP
php实现的pdo公共类定义与用法示例
Jul 19 #PHP
PHP多进程编程实例详解
Jul 19 #PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
Jul 19 #PHP
You might like
input file获得文件根目录简单实现
2013/04/26 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
Mac下关于PHP环境和扩展的安装详解
2019/10/17 PHP
PHP实现笛卡尔积算法的实例讲解
2019/12/22 PHP
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
jquery根据name属性查找的小例子
2013/11/21 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
谈谈AngularJs中的隐藏和显示
2015/12/09 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
easyui关于validatebox实现多重规则验证的方法(必看)
2017/04/12 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
深入理解Vue.js源码之事件机制
2017/09/27 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
浅谈angular表单提交中ng-submit的默认使用方法
2018/09/30 Javascript
详解Vue中watch的详细用法
2018/11/28 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
python实现提取百度搜索结果的方法
2015/05/19 Python
Python字符串处理实现单词反转
2017/06/14 Python
django框架auth模块用法实例详解
2019/12/10 Python
python shutil文件操作工具使用实例分析
2019/12/25 Python
Python运算符+与+=的方法实例
2021/02/18 Python
优良学风班总结材料
2014/02/08 职场文书
学校门卫岗位职责范本
2014/06/30 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
后进生评语大全
2015/01/04 职场文书
魂断蓝桥观后感
2015/06/10 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang