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语法(4)
Oct 09 PHP
php中ob(Output Buffer 输出缓冲)函数使用方法
Jul 21 PHP
php设计模式 Singleton(单例模式)
Jun 26 PHP
PHP读取大文件的类SplFileObject使用介绍
Apr 09 PHP
迁移PHP版本到PHP7
Feb 06 PHP
PHP中如何判断exec函数执行成功?
Aug 04 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
Apr 03 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
May 30 PHP
php curl上传、下载、https登陆实现代码
Jul 23 PHP
PHP实现字符串翻转功能的方法【递归与循环算法】
Nov 03 PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
Apr 04 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
一段防盗连的PHP代码
2006/12/06 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
Laravel框架文件上传功能实现方法示例
2019/04/16 PHP
jQuery 获取对象 定位子对象
2010/05/31 Javascript
js中的值类型和引用类型小结 文字说明与实例
2010/12/12 Javascript
Javascript计算时间差的函数分享
2011/07/04 Javascript
纯JS实现五子棋游戏兼容各浏览器(附源码)
2013/04/24 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
innerHTML在IE中报错解决方案
2014/12/15 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
原生js实现日期计算器功能
2017/02/17 Javascript
详解Angular 4.x NgIf 的用法
2017/05/22 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
解决vue点击控制单个样式的问题
2018/09/05 Javascript
node实现分片下载的示例代码
2018/10/17 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
微信小程序新闻网站详情页实例代码
2020/01/10 Javascript
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Python使用ntplib库同步校准当地时间的方法
2016/07/02 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
美国在线家装零售商:Build.com
2016/09/02 全球购物
英国最大的LED专业零售商:Led Hut
2018/03/16 全球购物
外贸英语毕业生自荐信
2013/11/14 职场文书
社区母亲节活动总结
2015/02/10 职场文书
2015年妇幼卫生工作总结
2015/05/23 职场文书
张丽莉观后感
2015/06/16 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
高质量“欢迎词”
2019/04/03 职场文书
Python如何配置环境变量详解
2021/05/18 Python
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android