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 相关文章推荐
福利彩票幸运号码自动生成器
Oct 09 PHP
JS与PHP向函数传递可变参数的区别实例代码
May 18 PHP
php截取字符串并保留完整xml标签的函数代码
Feb 06 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
深入php数据采集的详解
Jun 02 PHP
探讨:使用XMLSerialize 序列化与反序列化
Jun 08 PHP
php数组去重实例及分析
Nov 26 PHP
php实现的验证码文件类实例
Jun 18 PHP
教你php如何实现验证码
Jan 20 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
PHP用函数嵌入网站访问量计数器
Oct 27 PHP
Yii使用DbTarget实现日志功能的示例代码
Jul 21 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
用phpmyadmin更改mysql5.0登录密码
2008/03/25 PHP
PHP导入Excel到MySQL的方法
2011/04/23 PHP
php的memcached客户端memcached
2011/06/14 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
php实现的双向队列类实例
2014/09/24 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
利用PHP判断是否是连乘数字串的方法示例
2017/07/03 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
2017/11/25 PHP
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
用JavaScript实现动画效果的方法
2013/07/20 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
解决vue attr取不到属性值的问题
2018/09/18 Javascript
Vue列表渲染的示例代码
2018/11/01 Javascript
JS实现的合并两个有序链表算法示例
2019/02/25 Javascript
Vue 路由间跳转和新开窗口的方式(query、params)
2019/12/25 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
Python+matplotlib实现填充螺旋实例
2018/01/15 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
Python爬虫爬取Bilibili弹幕过程解析
2019/10/10 Python
python默认参数调用方法解析
2020/02/09 Python
python re.match()用法相关示例
2021/01/27 Python
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
JAVA高级程序员面试题
2013/09/06 面试题
党员自我评价分享
2013/12/13 职场文书
党员创先争优活动总结
2014/05/04 职场文书
物流管理专业自荐信
2014/06/23 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
护士个人年度总结范文
2015/02/13 职场文书
《钓鱼的启示》教学反思
2016/02/18 职场文书
Python基础之函数嵌套知识总结
2021/05/23 Python