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
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
Linux下实现PHP多进程的方法分享
Aug 16 PHP
PHP数据集构建JSON格式及新数组的方法
Nov 07 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
Jun 13 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
Jun 15 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
PHP实现权限管理功能示例
Sep 22 PHP
实现PHP中session存储及删除变量
Oct 15 PHP
php无限级分类实现评论及回复功能
Feb 18 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读取文件内容的几种方法详解
2013/06/26 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
Symfony2创建基于域名的路由相关示例
2016/11/14 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
使用jquery给input和textarea设定ie中的focus
2008/05/29 Javascript
jquery 学习之一 对象访问
2010/11/23 Javascript
JS实现仿中关村论坛评分后弹出提示效果的方法
2015/02/23 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
jQuery与Ajax以及序列化
2016/02/01 Javascript
JavaScript function函数种类详解
2016/02/22 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
解决ele ui 表格表头太长问题的实现
2019/11/13 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python应用库大全总结
2018/05/30 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
python tkinter之 复选、文本、下拉的实现
2020/03/04 Python
python基于socket模拟实现ssh远程执行命令
2020/12/05 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
美国性感女装网站:bebe
2017/03/04 全球购物
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
荷兰超市:DEEN
2018/03/14 全球购物
荷兰鞋类购物网站:Donelli
2019/05/24 全球购物
小班重阳节活动方案
2014/02/08 职场文书
2014三八妇女节活动总结
2014/03/01 职场文书
商务司机岗位职责
2015/04/10 职场文书
听证会主持词
2015/07/03 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
Python数据类型最全知识总结
2021/05/31 Python
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL