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

搜索
博主信息
博文 65
粉絲 3
評(píng)論 4
訪問(wèn)量 79596
最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板
PHP之cookie/session登錄、退出0423/14:16
無(wú)恥的魚(yú)
原創(chuàng)
1850人瀏覽過(guò)


效果:

1.png

文件放置

2.png

cookie登錄文件說(shuō)明

  •     include文件夾里都是公共的部分

  •         譬如 connect 連接數(shù)據(jù)庫(kù)

  •         header footer 公共頭部底部

  •         公用函數(shù)庫(kù) function

  •     index 是首頁(yè)

  •     loggedin 是登錄進(jìn)來(lái)的歡迎頁(yè)面

  •     login與login_page是登錄頁(yè)

  •     logout是退出頁(yè)

session登錄

  •     session登錄呢其實(shí)與cookie是一樣的

  •     只要把cookie替換成session,并在有session的文件頭部開(kāi)啟session會(huì)話即可  

    • session_start(); //開(kāi)啟會(huì)話

下邊呢看代碼

include文件夾的文件

connect.php實(shí)例

<?php
/醫(yī)院
 * Created by PhpStorm.
 * User: Z先生
 * Date: 2018/4/23
 * Time: 8:31
 */
//創(chuàng)建連接參數(shù) 使用常量
define('DB_HOST','localhost');//連接數(shù)據(jù)庫(kù)地址
define('DB_USER','root');//用戶名
define('DB_PASS','root');//用戶密碼
define('DB_NAME','php');//數(shù)據(jù)庫(kù)名稱
define('DB_CHAR','utf8');//字符編碼

//連接數(shù)據(jù)庫(kù)
$dbc = @mysqli_connect(DB_HOST,DB_USER,DB_PASS,DB_NAME);

    //如果鏈接不成功
    if(mysqli_connect_errno($dbc)){
        echo '連接失敗'.mysqli_connect_errno($dbc);
    }

    mysqli_select_db($dbc,DB_NAME);
    mysqli_set_charset($dbc , DB_CHAR);

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

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

----------------------------------------------------------------------------------------------------------------------

footer.php實(shí)例

<h3>我是公共低部</h3>
</body>
</html>

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

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

----------------------------------------------------------------------------------------------------------------------

function.php實(shí)例

<?php
/醫(yī)院
 * Created by PhpStorm.
 * User: Z先生
 * Date: 2018/4/23
 * Time: 8:42
 */

/醫(yī)院
 * 用戶定義跳轉(zhuǎn)格式
 醫(yī)院/
function redirect_user($page = 'index.php')
{
    //    默認(rèn)URL格式
    $url = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);

    //移除右側(cè) 線
    $url = rtrim($url,'/\\');

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

//    跳轉(zhuǎn)到指定地址
    header('location:'.$url);

    //退出當(dāng)前函數(shù)
    exit();

}

/醫(yī)院
 *驗(yàn)證用戶登錄
 * $dbc,$email,$password
醫(yī)院/
function check_login($dbc, $email = '', $password =''){
    //收集、初始化錯(cuò)誤數(shù)據(jù)
    $errors = [];

    //email
    if(empty($email)){
        $errors[] = '用戶名不能為空';
    }else{
        // 轉(zhuǎn)義email,以便在 SQL 中使用
        $e = mysqli_real_escape_string($dbc,trim($email) );
    }

    //password
    if(empty($password)){
        $errors[] = '密碼不能為空';
    }else{
        // 轉(zhuǎn)義$password,以便在 SQL 中使用
        $p = mysqli_real_escape_string($dbc,trim($password) );
    }

//    數(shù)組的非空判斷,執(zhí)行數(shù)據(jù)查詢
    if (empty($errors)){
//        $sql = "SELECT `user_id`,`user_name` FROM `user` WHERE `email`='$e' AND `password`=shal('$p') ";
        $sql = "SELECT `user_id`,`user_name` FROM `user` WHERE `email`='$e' AND `password`=sha1('$p') ";

        //查詢
        $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í)例

--------------------------------------------------------------------------------------------------------------------

header.php實(shí)例

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>
        <?php
//        設(shè)置當(dāng)前頁(yè)面標(biāo)題
            echo isset($page_title) ? $page_title : "默認(rèn)標(biāo)題"
        ?>
    </title>
</head>
<body>
<h3>我是公共頭部</h3>

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

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

-----------------------------------------------------------------------------------------------------------------------

下面是登錄文件了

----------------------------------------------------------------------------------------------------------------------

index.php實(shí)例

<?php
/醫(yī)院
 * Created by PhpStorm.
 * User: Z先生
 * Date: 2018/4/23
 * Time: 10:51
 */
$page_title = '首頁(yè)';
include('include/header.php');

echo '<h2 style="color:red">我是首頁(yè)</h2>';
echo "<p>用戶: {$_COOKIE['user_name']}</p>";

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


include('include/header.php');

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

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

----------------------------------------------------------------------------------------------------------------------

loggedin.php實(shí)例

<?php
/醫(yī)院
 * Created by PhpStorm.
 * User: Z先生
 * Date: 2018/4/23
 * Time: 10:55
 */
if (!isset($_COOKIE['user_id'])) {
    require ('include/function.php');
    //跳轉(zhuǎn)到默認(rèn)首頁(yè)
    redirect_user();
}

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

//打印歡迎信息,并提供退出功能
echo <<< "WELCOME"
<h2 style="color:red">登陸成功</h2>
<p>歡迎您: {$_COOKIE['user_name']}</p>
<p><a href="logout.php">退出</a></p>
WELCOME;

//加載底部
include ('include/footer.php');

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

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

----------------------------------------------------------------------------------------------------------------------

login.php實(shí)例

<?php
/醫(yī)院
 * Created by PhpStorm.
 * User: Z先生
 * Date: 2018/4/23
 * Time: 9:39
 */

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //加載公共函數(shù)庫(kù)
    require ('include/function.php');
    //連接數(shù)據(jù)庫(kù)
    require ('include/connect.php');

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

    if($check){
//        設(shè)置cookie
        setcookie('user_id',$data['user_id']);
        setcookie('user_name',$data['user_name']);

//        跳轉(zhuǎn)頁(yè)面
        redirect_user('loggedin.php');

    }else{
        $errors = $data;
    }
    //clos
    mysqli_close($dbc);

}
include('login_page.php');

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

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

----------------------------------------------------------------------------------------------------------------------

login_page.php實(shí)例

<?php
/醫(yī)院
 * Created by PhpStorm.
 * User: Z先生
 * Date: 2018/4/23
 * Time: 8:46
 *
 * 登錄頁(yè)面并報(bào)告錯(cuò)誤
 * 設(shè)置當(dāng)前頁(yè)面標(biāo)題
 * 在login中調(diào)用
 */

$page_title = '用戶登錄';

//加載頭部文件
include('include/header.php');

//打印錯(cuò)誤信息
if (isset($errors) && !empty($errors)) {
    $errors_msg = '<p style="color:red">';
    foreach ($errors as $msg) {
        $errors_msg .= $msg.'<br>';
    }
    echo $errors_msg.'</p>';
}
?>



<h2 style="color: red">用戶登錄</h2>
<form action="login.php" method="post">
    <label for="email">郵箱:</label>
    <input type="email" name="email" id="email" value="<?php echo isset($_POST['email'])?$_POST['email']:''; ?>"><br>
    <label for="password">密碼:</label>
    <input type="password" name="password" id="password" ><br>
    <input type="submit" mame="submit" id="submit" value="登錄">
</form>

<?php
//加載低部文件
include('include/footer.php');
?>

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

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

----------------------------------------------------------------------------------------------------------------------

logout實(shí)例

<?php
/醫(yī)院
 * Created by PhpStorm.
 * User: Z先生
 * Date: 2018/4/23
 * Time: 10:56
 */
if (!isset($_COOKIE['user_id'])) {
    require ('inc/function.php');
    //跳轉(zhuǎn)到默認(rèn)首頁(yè)
    redirect_user();
} else {  //刪除cookies
    setcookie('user_id', '', time()-3600);
    setcookie('user_name','', time()-3600);
}

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

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

include ('include/footer.php');

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

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



批改狀態(tài):合格

老師批語(yǔ):
本博文版權(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é)申明 意見(jiàn)反饋 講師合作 廣告合作 最新更新
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é)