ubutu 16.04環(huán)境下,PHP與mysql數(shù)據(jù)庫,網(wǎng)頁登錄驗(yàn)證實(shí)例講解
正好最近的域名備案通過了,興起就突然想做一個(gè)網(wǎng)頁,雖然之前去備案域名也是有這個(gè)目的。
問過幾個(gè)人,說用linux上用PHP搭建網(wǎng)站很簡單,就試著做了一個(gè),這里主要說一下登錄驗(yàn)證相關(guān)的部分;
首相準(zhǔn)備幾個(gè)文件,主要是index.php、conn.php、data.php以及l(fā)ogin.php;
login.php 主要是登錄過程中的數(shù)據(jù)對(duì)比部分;其中include ('conn.php')內(nèi)容在下面有說。
<?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'; } ?>
另外要注意的是:關(guān)于$_POST針對(duì)的是form中的method =“post”中的內(nèi)容。
因?yàn)槔锩嬗玫組D5加密的方式,所以說一下,在后臺(tái)數(shù)據(jù)庫加密的時(shí)候也需要用到MD5加密的方式update數(shù)據(jù),具體方式如下:
UPDATE USERINFO SET PASSWORD = md5('root') WHERE USERID = 1000;
其中的表格以及具體查詢位置根據(jù)個(gè)人數(shù)據(jù)庫而定。
conn.php 主要是跟mysql數(shù)據(jù)庫連接相關(guān)的操作,分為數(shù)據(jù)庫連接,以及數(shù)據(jù)庫選擇部分(注意數(shù)據(jù)庫連接的返回值取值,不要隨便起,后邊引用的時(shí)候是用得著的。)
<?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 該文件是主頁相關(guān)了,我只把登錄相關(guān)的部分拿出來說明一下(這里用到的是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"> ログイン狀態(tài)を保持 </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>
基本關(guān)于登錄驗(yàn)證部分就是這些,主要是與數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行對(duì)比,一開始用的對(duì)稱加密的方式,對(duì)加密的方式還沒有仔細(xì)去研究,后面有機(jī)會(huì)再仔細(xì)看一下就好。
以上這篇ubutu 16.04環(huán)境下,PHP與mysql數(shù)據(jù)庫,網(wǎng)頁登錄驗(yàn)證實(shí)例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Flutter 超實(shí)用簡單菜單彈出框 PopupMenuButton功能
- ubutun 安裝php7.1x教程詳解
- EasyUI 中 MenuButton 的使用方法
- jQuery EasyUI API 中文文檔 - MenuButton菜單按鈕使用介紹
- Deepin20安裝開發(fā)環(huán)境的超詳細(xì)教程
- Manjaro安裝CUDA實(shí)現(xiàn)教程解析
- Goland激活碼破解永久版及安裝詳細(xì)教程(親測(cè)可以)
- Goland 的安裝及激活教程(window、linux下安裝)
- superset在linux和windows下的安裝和部署詳細(xì)教程
- Ubutu1604安裝colmap實(shí)現(xiàn)方法詳細(xì)教程
相關(guān)文章
php實(shí)現(xiàn)根據(jù)中獎(jiǎng)概率抽獎(jiǎng)的算法
這篇文章主要為大家介紹了php實(shí)現(xiàn)根據(jù)中獎(jiǎng)概率抽獎(jiǎng)的算法的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06smarty模板中使用get、post、request、cookies、session變量的方法
這篇文章主要介紹了smarty模板中使用get、post、request、cookies、session變量的方法,需要的朋友可以參考下2014-04-04php mysql數(shù)據(jù)庫操作類(實(shí)例講解)
本白演示的代碼屬于較為簡單的數(shù)據(jù)庫封裝類,較適合初學(xué),需要的朋友可以參考下2017-08-08PHP簡單實(shí)現(xiàn)單點(diǎn)登錄功能示例
這篇文章主要介紹了PHP簡單實(shí)現(xiàn)單點(diǎn)登錄功能,結(jié)合實(shí)例形式分析了php基于session控制實(shí)現(xiàn)單點(diǎn)登錄的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03Yii2實(shí)現(xiàn)UploadedFile上傳文件示例
這篇文章主要介紹了Yii2實(shí)現(xiàn)UploadedFile上傳文件示例的資料,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2017-02-02通過修改配置真正解決php文件上傳大小限制問題(nginx+php)
對(duì)于nginx+php的一些網(wǎng)站,上傳文件大小會(huì)受到多個(gè)方面的限制,一個(gè)是nginx本身的限制,限制了客戶端上傳文件的大小,一個(gè)是php.ini文件中默認(rèn)了多個(gè)地方的設(shè)置。所以為了解決上傳文件大小限定的問題必須要做出多處修改。以下整理了幾個(gè)地方。2015-09-09Laravel 4 初級(jí)教程之Pages、表單驗(yàn)證
本篇教程是本系列的完結(jié)篇,要做的是Pages的詳細(xì)管理功能,表單驗(yàn)證以及命名空間的深度使用,和一個(gè)更好用的通知組件,并且布置一個(gè)簡單的大作業(yè)。2014-10-10ThinkPHP讓../Public在模板不解析(直接輸出)的方法
這篇文章主要介紹了ThinkPHP讓../Public在模板不解析,直接輸出的方法,涉及通過模板常量設(shè)置修改默認(rèn)變量替換的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10