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伪造referer实例代码
Sep 20 PHP
php中的静态变量的基本用法
Mar 20 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
PHP编译安装中遇到的两个错误和解决方法
Aug 20 PHP
php使用标签替换的方式生成静态页面
May 21 PHP
PHP实现通过get方式识别用户发送邮件的方法
Jul 16 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
May 20 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
PDO::errorInfo讲解
Jan 28 PHP
php实现session共享的实例方法
Sep 19 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 PHP
PHP并发场景的三种解决方案代码实例
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多进程编程实例详解
Jul 19 #PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
Jul 19 #PHP
You might like
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
PHP判断是否微信访问的方法示例
2019/03/27 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
如何在PHP中生成随机数
2020/06/04 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
AngularJS bootstrap启动详解及实例代码
2016/09/14 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
2016/09/17 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
详解Python中logging日志模块在多进程环境下的使用
2016/12/26 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
vue router 传参获取不到的解决方式
2019/11/13 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
[03:03]DOTA2 2017国际邀请赛开幕战队入场仪式
2017/08/09 DOTA
python自动安装pip
2014/04/24 Python
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
Aurora London官网:奢华、负担得起的皮革手袋
2020/08/01 全球购物
PHP中如何创建和修改数组
2012/05/02 面试题
考试违纪检讨书
2014/02/02 职场文书
机关搬迁方案
2014/05/18 职场文书
相亲大会策划方案
2014/06/05 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
格列夫游记读书笔记
2015/07/01 职场文书
金榜题名主持词
2015/07/02 职场文书