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
用PHP连接Oracle for NT 远程数据库
Oct 09 PHP
PHP+MySQL 制作简单的留言本
Nov 02 PHP
windows环境下php配置memcache的具体操作步骤
Jun 09 PHP
PHP函数addslashes和mysql_real_escape_string的区别
Apr 22 PHP
PHP加密3DES报错 Call to undefined function: mcrypt_module_open() 如何解决
Apr 17 PHP
php正则表达式基本知识与应用详解【经典教程】
Apr 17 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 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多进程编程实例详解
Jul 19 #PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
Jul 19 #PHP
You might like
PHP-MySQL教程归纳总结
2008/06/07 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
php IP转换整形(ip2long)的详解
2013/06/06 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
PHP html_entity_decode()函数讲解
2019/02/25 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
jQuery maxlength文本字数限制插件
2010/04/16 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
基于Node.js的WebSocket通信实现
2017/03/11 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
小程序tab页无法传递参数的方法
2018/08/03 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Python图像处理之gif动态图的解析与合成操作详解
2018/12/30 Python
Python中join()函数多种操作代码实例
2020/01/13 Python
python对Excel的读取的示例代码
2020/02/14 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
iKRIX意大利网上商店:男女豪华服装和配件
2019/10/09 全球购物
广告词串烧
2014/03/19 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
技术股东合作协议书
2014/12/02 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
Java 泛型详解(超详细的java泛型方法解析)
2021/07/02 Java/Android
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL