<?php $page_title = '首頁'; //導(dǎo)入頭部 include('inc/header.php'); echo '<h2 style="color:red">我是首頁</h2>'; //登錄檢測 if ((isset($_COOKIE['user_id'])) && basename($_SERVER['PHP_SELF']) != 'logout.php') { echo '<a href="logout.php">退出</a>'; } else { echo '<a href="login.php">登錄</a>'; } //導(dǎo)入底部 include('inc/footer.php');
點擊 "運行實例" 按鈕查看在線實例
<?php //用戶沒有登錄的驗證 if(!isset($_COOKIE['user_id'])) { require ('inc/function.php'); redirect_user(); } //如果已經(jīng)登錄 //設(shè)置頁面標(biāo)題 $page_title = '已經(jīng)登錄'; //導(dǎo)入頭部 include ('inc/header.php'); //打印歡迎信息 echo <<< "WELCOME" <h2 style="color:red">登錄成功</h2> <p>歡迎您:{$_COOKIE['user_name']}</p> <p><a href="logout.php">退出</a></p> WELCOME; //導(dǎo)入底部 include ('inc/footer.php');
點擊 "運行實例" 按鈕查看在線實例
<?php if($_SERVER['REQUEST_METHOD'] == 'POST') { //驗證用戶的郵箱和密碼 //跳轉(zhuǎn)到指定的頁面 //加載公共函數(shù)庫 require ('inc/function.php'); //連接數(shù)據(jù)庫 require ('inc/connect.php'); //驗證登錄 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)頁面 redirect_user('loggedin.php'); } else { $errors = $data; } //關(guān)閉連接 mysqli_close($dbc); } //加載 include('login_page.php');
點擊 "運行實例" 按鈕查看在線實例
<?php /** * 用戶登錄頁面 * 1.輸出用戶的錯誤信息 * 2.輸出登錄表單:當(dāng)前的表單渲染 */ $page_title = '用戶登錄'; //導(dǎo)入頭部 include('inc/header.php'); //打印錯誤信息 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"> <p> <label for="email">郵箱:</label> <input type="email" name="email" id="email" value="<?php echo isset($_PSOST['email'])?$_POST['email']:' '?>"> </p> <p> <label for="password">密碼:</label> <input type="password" name="password" id="password" value="<?php echo isset($_POST['password'])?$_POST['password']:'' ?>"> </p> <p> <button type="submit" name="submit" id="submit">登錄</button> </p> </form> <?php //導(dǎo)入底部 include('inc/footer.php'); ?>
點擊 "運行實例" 按鈕查看在線實例
<?php //如何沒有登錄的驗證 if(!isset($_COOKIE['user_id'])) { require ('inc/function.php'); //跳轉(zhuǎn)到默認(rèn)首頁 redirect_user(); } else { //刪除cookies setcookie('user_id','',time()-3600); setcookie('user_name','',time()-3600); } //退出登錄 $page_title = '退出成功'; //導(dǎo)入頭部 include ('inc/header.php'); //打印歡迎信息 echo <<<"WELCOME" <h2 style="color: red">退出成功</h2> <p>歡迎您:{$_COOKIE['user_name']}</p> <p><a href="login.php">登錄</a> </p> WELCOME; //導(dǎo)入底部 include('inc/footer.php');
點擊 "運行實例" 按鈕查看在線實例
<?php 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); if (mysqli_connect_errno($dbc)) { echo '連接失敗'.mysqli_connect_error($dbc); } mysqli_select_db($dbc,DB_NAME); mysqli_set_charset($dbc,DB_CHAR);
點擊 "運行實例" 按鈕查看在線實例
<?php /** * 用戶自定義跳轉(zhuǎn)地址 * @param string $page */ function redirect_user($page = 'index.php') { //默認(rèn)地址 $url = 'http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']); //去掉右側(cè)的/,\ $_url - rtrim($url, '/\\'); //生成自定義跳轉(zhuǎn)地址 $url .= '/'.$page; //跳轉(zhuǎn)到指定的目標(biāo)地址 header('location:'. $url); //退出當(dāng)前的函數(shù)或腳本 exit(); } /** * @param $dbc * @param string $email * @param string $password * @return array */ function check_login($dbc,$email='',$password='') { //創(chuàng)建錯誤信息數(shù)組 $errors = []; //驗證郵箱 if(empty($email)){ $errors[]= '郵箱地址不能為空'; } else { $e = mysqli_real_escape_string($dbc,trim($email)); } //驗證密碼 if(empty($password)){ $errors[]= '密碼不能為空'; } else { $p = mysqli_real_escape_string($dbc,trim($password)); } //非空驗證通過,即$error數(shù)組為空 if(empty($errors)) { //根據(jù)郵箱與密碼來查詢用戶ID與用戶名 $sql = "SELECT `user_id`,`user_name` FROM `user` WHERE `email`='$e' AND `password`=sha1('$p') "; //注意此處的FROM //執(zhí)行查詢 $res = mysqli_query($dbc,$sql); //查詢成功應(yīng)該返回唯一一條記錄 if(mysqli_num_rows($res) ==1) { //將查詢結(jié)果解析到數(shù)組中 $row = mysqli_fetch_array($res,MYSQLI_ASSOC); //返回查詢結(jié)果 // print_r($row);die(); // print_r($row);exit(); return [true, $row]; //注意此處的return不要寫錯了! } else{ $errors[] = '郵箱或密碼不正確,請重新輸入'; } } return [false,$errors]; }
點擊 "運行實例" 按鈕查看在線實例
<!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 echo isset($page_title) ? $page_title : '默認(rèn)標(biāo)題'; ?></title> </head> <body> <h3>我是公共頭部的代碼</h3>
點擊 "運行實例" 按鈕查看在線實例
<?php //1.設(shè)置cookies setcookie('userName','Kevin Wong',time()+3600); setcookie('email','KevinW@php.cn'); //2.查看:$_cookie echo '用戶名:', $_COOKIE['userName'],'<br>'; echo '郵箱:', $_COOKIE['email'],'<br>'; //3.更新 //$_COOKIE['userName'] = 'aaa'; setcookie('userName','Kevin Wong'); //4.刪除 //方法:1 //setcookie('userName'); //方法:2 //setcookie('userName'); //方法:3 //setcookie('userName','',time()-3600);
點擊 "運行實例" 按鈕查看在線實例
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號