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 MemCached 高级缓存应用代码
Aug 05 PHP
vs中通过剪切板循环来循环粘贴不同内容
Apr 30 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 PHP
基于PHP对XML的操作详解
Jun 07 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
php数组删除元素示例
Mar 21 PHP
微信支付开发告警通知实例
Jul 12 PHP
thinkPHP5 ACL用户权限模块用法详解
May 10 PHP
PHP实现链式操作的三种方法详解
Nov 16 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
php微信开发之关注事件
Jun 14 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
咖啡知识大全
2021/03/03 新手入门
PHP中MD5函数使用实例代码
2008/06/07 PHP
php用正则表达式匹配URL的简单方法
2013/11/12 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
PHP日志LOG类定义与用法示例
2018/09/06 PHP
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
JavaScript中的集合及效率
2010/01/08 Javascript
JavaScript实用技巧(一)
2010/08/16 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
详述JavaScript实现继承的几种方式(推荐)
2016/03/22 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
jQuery Dialog 打开时自动聚焦的解决方法(两种方法)
2016/11/24 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
vue组件(全局,局部,动态加载组件)
2018/09/02 Javascript
浅谈React碰到v-if
2018/11/04 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
[46:16]2018DOTA2亚洲邀请赛3月30日 小组赛B组 iG VS VP
2018/03/31 DOTA
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python抽取指定url页面的title方法
2018/05/11 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Python requests上传文件实现步骤
2020/09/15 Python
期中考试反思800字
2014/05/01 职场文书
市场营销战略计划书
2014/05/06 职场文书
文化建设工作方案
2014/05/12 职场文书
业务员岗位职责范本
2015/04/03 职场文书
MySQL 数据 data 基本操作
2022/05/04 MySQL
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电