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
PHP4 与 MySQL 数据库操作函数详解
Dec 06 PHP
php 用sock技术发送邮件的函数
Jul 21 PHP
Blitz templates 最快的PHP模板引擎
Apr 06 PHP
php循环检测目录是否存在并创建(循环创建目录)
Jan 06 PHP
php pki加密技术(openssl)详解
Jul 01 PHP
ThinkPHP中的系统常量和预定义常量集合
Jul 01 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
PHP框架实现WebSocket在线聊天通讯系统
Nov 21 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
PHP如何通过带尾指针的链表实现'队列'
Oct 22 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数组无限分级数据的层级化处理代码
2012/12/29 PHP
从零开始学YII2框架(三)扩展插件yii2-gird
2014/08/20 PHP
PHP下 Mongodb 连接远程数据库的实例代码
2017/08/30 PHP
javascript new一个对象的实质
2010/01/07 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
jquery的flexigrid无法显示数据提示获取到数据
2013/07/19 Javascript
javascript删除option选项的多种方法总结
2013/11/22 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
js实现鼠标拖动功能
2017/03/20 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
微信小程序 按钮滑动的实现方法
2017/09/27 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
node.js制作一个简单的登录拦截器
2020/02/10 Javascript
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[56:42]VP vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
Python匹配中文的正则表达式
2016/05/11 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
TFRecord文件查看包含的所有Features代码
2020/02/17 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
2020/08/17 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
美国孩之宝玩具官网:Hasbro Pulse
2019/06/24 全球购物
致百米运动员广播稿
2014/01/29 职场文书
读书演讲主持词
2014/03/18 职场文书
绿色学校实施方案
2014/03/31 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
国庆节促销广告语2014
2014/09/19 职场文书
2014年公务员工作总结
2014/11/18 职场文书
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python