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 相关文章推荐
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
关于mysql 字段的那个点为是定界符
Jan 15 PHP
php数组函数序列之array_unshift() 在数组开头插入一个或多个元素
Nov 07 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
Jun 29 PHP
JS异常处理try..catch语句的作用和实例
May 05 PHP
PHP生成图片验证码、点击切换实例
Jun 25 PHP
qq登录,新浪微博登录接口申请过程中遇到的问题
Jul 22 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
php使用cookie保存登录用户名的方法
Jan 26 PHP
基于PHP常用文件函数和目录函数整理
Aug 17 PHP
laravel数据库查询结果自动转数组修改实例
Feb 27 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实现的Redis多库选择功能单例类
Jul 27 #PHP
PHP策略模式定义与用法示例
Jul 27 #PHP
You might like
php_xmlhttp 乱码问题解决方法
2009/08/07 PHP
php ci框架验证码实例分析
2013/06/26 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
php使用codebase生成随机数
2014/03/25 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
Prototype使用指南之selector.js
2007/01/10 Javascript
JavaScript作用域链示例分享
2014/05/27 Javascript
jQuery Ajax File Upload实例源码
2016/12/12 Javascript
在点击div中的p时,如何阻止事件冒泡
2017/02/07 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
vue的事件绑定与方法详解
2017/08/16 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
使用PYTHON接收多播数据的代码
2012/03/01 Python
Python实现周期性抓取网页内容的方法
2015/11/04 Python
使用Python绘制图表大全总结
2017/02/11 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
浅谈pycharm出现卡顿的解决方法
2018/12/03 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
Python如何调用外部系统命令
2019/08/07 Python
获取Pytorch中间某一层权重或者特征的例子
2019/08/17 Python
python数据化运营的重要意义
2019/11/25 Python
python 一维二维插值实例
2020/04/22 Python
美国指甲油品牌:Deco Miami
2017/01/30 全球购物
西班牙在线光学:Visual-Click
2020/06/22 全球购物
经济与贸易专业应届生求职信
2013/11/19 职场文书
防火标语大全
2014/10/06 职场文书
学习心得体会
2019/06/20 职场文书
css3中transform属性实现的4种功能
2021/08/07 HTML / CSS
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python