亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
博主信息
博文 42
粉絲 3
評(píng)論 2
訪問量 47124
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
用session進(jìn)行 PHP登錄 后臺(tái)驗(yàn)證
虞者自愚的博客
原創(chuàng)
5083人瀏覽過

PHP登錄實(shí)例 后臺(tái)驗(yàn)證


實(shí)例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>數(shù)組的排序</title>
    <style type="text/css">
        .box {width:90%;line-height:1.2em;border:1px dotted #d6d6d6;padding-left:15px;background-color:#f5f5f5;margin:10px auto;font-family:微軟雅黑;}
        .box1 {width:90%;line-height:1.5em;border:1px dotted #d6d6d6;background-color:#f2edd7;font-family:微軟雅黑;}
        .box p {margin-left:20px;font-size:14px;}
        hr {height:1px;width:95%;border:none;border-top:1px dashed #666;}
    </style>
</head>
<body>
<?php
session_start(); //開啟會(huì)話
echo '<div class="box">';
echo '<h4>首頁</h4>';
echo '<div class="box1">';
echo ' <p>判斷是否登錄<p>';

if ((isset($_SESSION['user_id'])) && basename($_SERVER['PHP_SELF']) != 'logout.php') {
    echo '<a href="logout.php">退出</a>';
} else {
    echo '<a href="login.php">登錄</a>';
}

echo '</div>';
echo '<br>';
echo '</div>';
?>
</body>
</html>

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例



登錄驗(yàn)證


實(shí)例

<?php 
//開啟會(huì)話
session_start();

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    //加載公共函數(shù)庫
    require ('inc/function.php');

    //連接數(shù)據(jù)庫
    require ('inc/connect.php');

    //驗(yàn)證登錄
   
    list($check, $data) = check_login($dbc, $_POST['email'], $_POST['password']);

    //驗(yàn)證通過
    if ($check) {
        
        //設(shè)置session會(huì)話
        $_SESSION['user_id'] = $data['user_id'];
        $_SESSION['user_name'] = $data['user_name'];

        //跳轉(zhuǎn)頁面
        redirect_user('loggedin.php');
    } else {
        //驗(yàn)證失敗
        $errors = $data;
    }

    //關(guān)閉數(shù)據(jù)庫連接
    mysqli_close($dbc);
}

//加載
include('login_page.php');

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例


退出登錄/刪除會(huì)話 

退出登錄,進(jìn)入登錄界面,或首頁 顯示為未登錄狀態(tài)


實(shí)例

<?php
//開啟會(huì)話
session_start();

if (!isset($_SESSION['user_id'])) {
    require ('inc/function.php');
    //跳轉(zhuǎn)到默認(rèn)首頁
    redirect_user();
} else {
  
    //刪除會(huì)話
    $_SESSION = [];
    session_destroy();
    setcookie('PHPSESSID', '', time()-3600);
}

//設(shè)置頁面標(biāo)題
$page_title = '已經(jīng)登錄';
include ('inc/header.php');

//打印退出信息,并提供登錄功能
echo <<< "WELCOME"
<h2 style="color:red">退出成功</h2>
<p><a href="login.php">登錄</a></p>
WELCOME;

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例


后臺(tái)驗(yàn)證


實(shí)例

<?php

function redirect_user($page = 'index.php')
{
   //默認(rèn)url格式
    $url = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);

    //如果有,去掉url右側(cè)的斜線
    $url = rtrim($url, '/\\');

    //添加當(dāng)前的腳本名稱,默認(rèn)為:index.php
    $url .= '/'.$page;

    //跳轉(zhuǎn)到指定目標(biāo)地址
    header('Location:'. $url);

    exit();
}

/醫(yī)院
 * 驗(yàn)證用戶登錄
 * @param $dbc
 * @param string $email
 * @param string $password
 */
function check_login($dbc, $email='', $password='')
{
    //初始化錯(cuò)誤信息數(shù)組
    $errors = [];

    //驗(yàn)證郵箱
    if (empty($email)) {
        $errors[] = '郵箱地址不能為空';
    } else {
        //mysqli_real_escape_string():轉(zhuǎn)義字符串的特殊字符
        $e = mysqli_real_escape_string($dbc, trim($email));
    }

    //驗(yàn)證密碼
    if (empty($password)) {
        $errors[] = '密碼不能為空';
    } else {
        $p = mysqli_real_escape_string($dbc, trim($password));
    }

    //非空驗(yàn)證通過,即$error數(shù)組為空
    if (empty($errors)) {
        //根據(jù)郵箱與密碼來查詢用戶id與用戶名
        $sql = "SELECT `user_id`,`user_name` FROM `user` WHERE `email`='$e' AND `password`=sha1('$p') ";

        //執(zhí)行查詢
        $res = mysqli_query($dbc, $sql);

        //查詢成功應(yīng)該返回唯一一條記錄
        if (mysqli_num_rows($res) == 1) {

            //將查詢結(jié)果解析到數(shù)組中
            $row = mysqli_fetch_array($res, MYSQLI_ASSOC);

            //返回查詢結(jié)果
//         
            return [true, $row];
        } else { //查詢失敗
            $errors[] = '郵箱或密碼不正確,請(qǐng)重新輸入';
        }
    }
    return [false, $errors];
}

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例

 

數(shù)據(jù)庫連接


實(shí)例

<?php
//創(chuàng)建連接參數(shù): 因?yàn)檫B接參數(shù)不會(huì)經(jīng)常變化,所以推薦使用常量
define ('DB_HOST', 'localhost');
define ('DB_USER', 'root');
define ('DB_PASS', 'root');
define ('DB_NAME', 'php');
define ('DB_CHAR', 'utf8');

$dbc = @mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME);

//連接失敗一定會(huì)返回錯(cuò)誤編號(hào),可以根據(jù)編號(hào)判斷,也可用 $db是否為false進(jìn)行判斷
if (mysqli_connect_errno($dbc)) {
    echo '連接失敗'.mysqli_connect_error($dbc);
}

mysqli_select_db($dbc, DB_NAME);  //選擇要操作的數(shù)據(jù)庫
mysqli_set_charset($dbc, DB_CHAR); //設(shè)置客戶端默認(rèn)字符編碼集

運(yùn)行實(shí)例 ?

點(diǎn)擊 "運(yùn)行實(shí)例" 按鈕查看在線實(shí)例


操作流程

登錄表單(登錄頁) — 登錄驗(yàn)證(連接后臺(tái)信息驗(yàn)證) — 數(shù)據(jù)庫連接 — 后臺(tái)驗(yàn)證(登錄信息驗(yàn)證)— 退出登錄

有信息交互的 必須要  開啟會(huì)話  session_start()




批改狀態(tài):未批改

老師批語:
本博文版權(quán)歸博主所有,轉(zhuǎn)載請(qǐng)注明地址!如有侵權(quán)、違法,請(qǐng)聯(lián)系admin@php.cn舉報(bào)處理!
全部評(píng)論 文明上網(wǎng)理性發(fā)言,請(qǐng)遵守新聞評(píng)論服務(wù)協(xié)議
0條評(píng)論
作者最新博文
關(guān)于我們 免責(zé)申明 意見反饋 講師合作 廣告合作 最新更新
php中文網(wǎng):公益在線php培訓(xùn),幫助PHP學(xué)習(xí)者快速成長(zhǎng)!
關(guān)注服務(wù)號(hào) 技術(shù)交流群
PHP中文網(wǎng)訂閱號(hào)
每天精選資源文章推送
PHP中文網(wǎng)APP
隨時(shí)隨地碎片化學(xué)習(xí)
PHP中文網(wǎng)抖音號(hào)
發(fā)現(xiàn)有趣的

Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)

  • 登錄PHP中文網(wǎng),和優(yōu)秀的人一起學(xué)習(xí)!
    全站2000+教程免費(fèi)學(xué)