标题和页脚在单独的.php中,带有当前页面突出显示



我多年来没有编码,我可能忘记了所有内容,但是我试图重新开始开发我的个人网站。我想将DIV标头和Div页脚放在.php文件中,因此在修改时,我不必手动修改每个页面。我的想法就像:

header-footer.php

<?php function head()
       {echo '<ul>
                <li><a href="tutorial.html"' if($current == "tutorial") {echo 'class="menu_link_active"';} else {echo 'class="menu_link"';} '>Tutorials</a></li>
                <li><a href="contact.html"' if($current == "contact") {echo 'class="menu_link_active"';} else {echo 'class="menu_link"';} '>Contatti</a></li>
               </ul>';}
function foot()
  {echo '...html...';} ?>

函数头()应识别当前页面以突出显示它。然后,在我的网站的页面中,我包括header-foot.php:

<head><?php include("php/header-footer.php"); ?><head>

致电两个函数:

<body><?php $current = "projemi";
            head();?>
      ...html code...
      <?php foot(); ?></body>

我的问题是:1)页面显示此错误:----语法错误,出乎意料的'if'(t_if),期望',''或';''-----并引用了头部功能。错误在哪里?2)正确获取我想要的东西的过程是正确的吗?

非常感谢你们,请原谅我的英语不好!

您必须将值传递到函数中才能使用

  <?php 
      function head($current){
         echo '<ul>
            <li><a href="tutorial.html"';
         if($current == "tutorial") {
                 echo 'class="menu_link_active"';
         }else {
                echo 'class="menu_link"';
         } 
         echo '>Tutorials</a></li><li><a href="contact.html"'; 
         if($current == "contact") {
              echo 'class="menu_link_active"';
          } else {
              echo 'class="menu_link"';
          } 
          echo '>Contatti</a></li></ul>';
        }
    ?>

称您的功能为

  <?php
     $current = 'someVal';
     head($current);
  ?>

好吧,您忘了结束回声语句,首先是半olon,因此错误。

echo '<ul>
                <li><a href="tutorial.html"'; if($current == "tutorial") {echo 'class="menu_link_active"';} else {echo 'class="menu_link"';} '>Tutorials</a></li>
                <li><a href="contact.html"'; if($current == "contact") {echo 'class="menu_link_active"';} else {echo 'class="menu_link"';} '>Contatti</a></li>
               </ul>';

另外,建议,我相信这会更有效(我建议只开发一个类似于MVC的系统,但这有点复杂,无法做到):

echo '<ul>
                <li><a href="tutorial.html"'.(($current === 'tutorial') ? 'class="menu_link_active"' : 'class="menu_link"').'>Tutorials</a></li>
                <li><a href="contact.html"'.(($current === 'contact') ? 'class="menu_link_active"' : 'class="menu_link"').'>Contatti</a></li>
               </ul>';

最新更新