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的配置文件php.ini
Oct 09 PHP
php数组函数序列之array_values() 获取数组元素值的函数与方法
Oct 30 PHP
php数组函数序列之rsort() - 对数组的元素值进行降序排序
Nov 02 PHP
PHPAnalysis中文分词类详解
Jun 13 PHP
教你如何解密 “ PHP 神盾解密工具 ”
Jun 20 PHP
ThinkPHP实现一键清除缓存方法
Jun 26 PHP
php跨站攻击实例分析
Oct 28 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
Nov 04 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
Sep 03 PHP
PHP中Session ID的实现原理实例分析
Aug 17 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 文章中的远程图片采集到本地的代码
2009/07/30 PHP
php+mysql查询优化简单实例
2015/01/13 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
将jQuery应用于login页面的问题及解决
2009/10/17 Javascript
JavaScript 空位补零实现代码
2010/02/26 Javascript
js实现上传图片之上传前预览图片
2013/03/25 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
JQuery控制div外点击隐藏而div内点击不会隐藏的方法
2015/01/13 Javascript
jQuery动画与特效详解
2015/02/01 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
手把手教你把nodejs部署到linux上跑出hello world
2017/06/19 NodeJs
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
iView框架问题整理小结
2018/10/16 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
jQuery中event.target和this的区别详解
2020/08/13 jQuery
用map函数来完成Python并行任务的简单示例
2015/04/02 Python
python使用win32com库播放mp3文件的方法
2015/05/30 Python
Python语法快速入门指南
2015/10/12 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
Flask之flask-session的具体使用
2018/07/26 Python
使用Django简单编写一个XSS平台的方法步骤
2019/03/25 Python
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
初一学生评语大全
2014/04/24 职场文书
防灾减灾活动总结
2014/08/30 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
先进班组材料范文
2014/12/25 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
Python 视频画质增强
2022/04/28 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis
基于redis+lua进行限流的方法
2022/07/23 Redis