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初学者头疼问题总结
Oct 09 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
使用php实现截取指定长度
Aug 06 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
Jun 30 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
ThinkPHP结合AjaxFileUploader实现无刷新文件上传的方法
Oct 29 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
thinkPHP5.0框架开发规范简介
Mar 25 PHP
PHP实现用户登录的案例代码
May 10 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
PHP date()格式MySQL中插入datetime方法
Jan 29 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并发对MYSQL造成压力的解决方法
2013/02/21 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
浅谈php冒泡排序
2014/12/30 PHP
php使用get_class_methods()函数获取分类的方法
2016/07/20 PHP
PHP入门教程之自定义函数用法详解(创建,调用,变量,参数,返回值等)
2016/09/11 PHP
php的扩展写法总结
2019/05/14 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)
2010/03/24 Javascript
JQuery中的ready函数冲突的解决方法
2010/05/17 Javascript
jquery刷新页面的实现代码(局部及全页面刷新)
2011/07/11 Javascript
JS远程获取网页源代码实例
2013/09/05 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
嵌入式iframe子页面与父页面js通信的方法
2015/01/20 Javascript
jQuery的bind()方法使用详解
2015/07/15 Javascript
基于jquery实现在线选座订座之影院篇
2015/08/24 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
[01:00] DOTA2英雄背景故事第五期之重力引力法则谜团
2020/07/16 DOTA
[03:11]不朽宝藏三外观展示
2020/09/18 DOTA
[03:01]完美世界DOTA2联赛PWL S2 集锦第二期
2020/12/03 DOTA
python实现简单温度转换的方法
2015/03/13 Python
浅析python中的分片与截断序列
2016/08/09 Python
详解Python循环作用域与闭包
2019/03/21 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
python基于opencv检测程序运行效率
2019/12/28 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
python如何查看网页代码
2020/06/07 Python
Python 忽略文件名编码的方法
2020/08/01 Python
Jo Malone美国官网:祖玛珑香水
2017/03/27 全球购物
汽车队司机先进事迹材料
2014/02/01 职场文书
竞选部门副经理的自荐书范文
2014/02/11 职场文书
《李时珍夜宿古寺》教学反思
2014/04/09 职场文书
关于中国梦的演讲稿
2014/04/23 职场文书