设为首页 收藏本站
查看: 948|回复: 0

[经验分享] 边学边做之php+mysql+smarty+apache搭建个人博客(4):header.php详解

[复制链接]
发表于 2015-8-25 11:17:24 | 显示全部楼层 |阅读模式
  第三期教程语言有些浮夸了,而且内容不太充实,请原谅。   
  第四期我想介绍的是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的值。
  
  最终效果如下:
DSC0000.png
  
  下面就是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>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-103967-1-1.html 上篇帖子: CodeIgniter框架中关于URL(index.php)的那些事 下篇帖子: 那些年,我们追过的PHP自加自减运算(2)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表