邊學邊做之php+mysql+smarty+apache搭建個人部落格(4):header.php詳解

來源:互聯網
上載者:User

標籤:

    第三期教程語言有些浮誇了,而且內容不太充實,請原諒。    

    第四期我想介紹的是header.php即每個頁面都有的頭部,製作單獨的頭部,之後在設計其他頁面的時候就可以直接引用。軟體設計中有一個原則就是避免書寫重複代碼。把這個原則用於網頁設計,就是把一個網站共同的部分提出來單獨編寫。    

    header.php用到的主要技術是bootstrap和php的session。bootstrap是一個css和javascript架構。官方的宣傳語是:Bootstrap is the most popular HTML, CSS, and JS framework for developing responsive, mobile first projects on the web.   

    使用bootstrap最大的兩點好處是:

    1.響應式布局:用bootstrap製作的網頁會根據螢幕解析度自適應,這點是非常實用的,在移動終端盛行的年代,網站不可能只面向一種裝置。

    2.bootstrap可以讓一個不擅長美工的碼農設計出漂亮的網站,現在快速開發的網站很多都採用bootstrap架構。

 

    session原理:session簡單來說就是將內容臨時儲存在伺服器,而與之相對應的cookie則是將內容儲存在使用者端。session預設有三種儲存機制:檔案儲存體方式,記憶體儲存方式和使用者自訂儲存方式。對於伺服器不是很好的開發人員來說,採用預設的檔案儲存體方式就可以了,對於記憶體大,追求速度,並且並發量較小的網站可以採用記憶體儲存。修改儲存方式可以通過修改php.ini檔案中的session.save_handler的值。

  

  最終效果如下:

   

    下面就是header.php的源碼,想說的基本都寫在注釋中了,有什麼不理解或者覺得不對的地方可以一起交流。

 

 

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3個meta標籤*必須*放在最前面,任何其他內容都*必須*跟隨其後! -->

    <link href="css/bootstrap.css" rel="stylesheet">
    <script src="JS/jquery-2.1.4.js" language="JavaScript"></script>
    <script src="JS/bootstrap.js" language="JavaScript"></script>
    <!-- 引入樣式表和JS檔案 -->

</head>

<body>

<nav class="navbar navbar-default navbar-fixed-top">
    <!-- 定義navbar(導航條) navbar-default(預設導航條)navbar-fixed-top(固定在頂端,不會消失)以上第二第三個參數可以自行修改,參考bootstrap中文網 -->
    <div class="container">
        <!-- 定義一個容器,讓兩端有間距 -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <!-- 這個button是為手機平板等自適應而設計的,你可以將瀏覽器縮小就可以看到效果,icon-bar就是一條橫線表徵圖 -->
            <a class="navbar-brand" href="#">Blog_Logo</a>
            <!-- 這個是網站的logo,如果你有以上這行可以改成
                <a class="navbar-brand" href="#">
                <img alt="Brand" src="...">
                </a>
            -->
        </div>


        <div id="navbar" class="navbar-collapse collapse">
            <!-- collapse也是為響應式而設計,當螢幕解析度小到一定程度時導航就會摺疊 -->
            <ul class="nav navbar-nav">
                <li><a href="index.php">Home</a></li>
                <!-- 首頁 -->
                <li><a href="about_me.php">About</a></li>
                <!-- 自我簡介 -->
                <li><a href="list.php">Article List</a></li>
                <!-- 文章列表 -->


                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">classification <span class="caret"></span></a>
                    <ul class="dropdown-menu">
                        <li><a href="#">類型1</a></li>
                        <li><a href="#">類型2</a></li>
                        <li><a href="#">類型3</a></li>
                        <li role="separator" class="divider"></li>
                        <!-- 一條橫線 -->
                        <li class="dropdown-header">類型4</li>
                        <li><a href="#">類型4的子類1</a></li>
                        <li><a href="#">類型4的子類2</a></li>
                    </ul>
                </li>

                <!--這是一個下拉式功能表可以包含一些文章分類資訊-->
            </ul>


            <ul class="nav navbar-nav navbar-right">
            <?php 
            
            
            session_start();//啟動session
            if($_SESSION[username]){//如果使用者名稱存在則輸出使用者名稱,增加退出按鈕
                /* 需要說明的是這兒最好還需要驗證以下密碼,等設計完登入頁面,我們再回頭加上 */
                echo "<ul class=\"nav navbar-nav navbar-right\">";
                echo "<li><a href=\"admin/admin.php\">$_SESSION[username]</a></li>";
                echo "<li><a href=\"config/logout.php\">退出</a></li>";
                   echo "</ul>";
            }else{                    //否則顯示登入,這裡要注意雙引號內的轉義
                echo "<ul class=\"nav navbar-nav navbar-right\">";
                echo "<li><a href=\"login.html\">請登入</a></li>";
                echo "</ul>";
            }
            
            ?>
            </ul>
            <!-- 導航右側的內容 -->
        </div>
    </div>
</nav>




</body>

</html> 

邊學邊做之php+mysql+smarty+apache搭建個人部落格(4):header.php詳解

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.