【问题标题】:One header but with different banners for each page (php if)一个标题,但每个页面都有不同的横幅(php if)
【发布时间】:2017-09-08 10:12:29
【问题描述】:

我建立我的网站是为了好玩,并希望在每个页面上放置不同的横幅,在我的标题中,我有随机出现的横幅与此代码,

<div style=' height:145px; background-image:url(images/banners/banner<?php 
echo rand(1,3); ?>.jpg); background-position:center center; border-
radius:4px;'></div>

所以有 3 个横幅,每次我刷新时随机出现一个,但我想为我的另一个页面再添加 3 个横幅,但包含相同的包含“inc/header.php”,也许“if”语句可以工作但我真的不知道该怎么做。 对不起,我的英语是法语。

【问题讨论】:

  • 其他 3 个横幅是在同一个文件夹中,还是在其他位置?
  • 在同一个文件夹中,我的文件夹只是命名为banners
  • 将剩余的 3 张图片添加到同一文件夹中

标签: php html if-statement header banner


【解决方案1】:

假设三个横幅在同一个文件夹中,以下是一个简单的解决方案:

将横幅代码放在单独的文件中:

banner.php

    <div style=' height:145px; background-image:url(images/banners/banner<?php 
echo rand($start,$end); ?>.jpg); background-position:center center; border-
radius:4px;'></div>

然后你可以从你的页面调用它:

$start = 4;  //First banner number
$end = 6;    //Last banner number
include('inc/banner.php');

这不是最优雅的解决方案,但对于新手程序员来说,这是一个简单的好简单的解决方案,它引入了一些概念。

【讨论】:

  • 它有效,但我只有一个标题,所以 start = 4 end = 6 将适用于所有页面,我只需要我网站中每个页面的特定范围
  • 您可以在加载横幅之前的任何时间设置开始和结束。只需将那段代码放在页面本身(在 &lt;?php ?&gt;closures 中)就可以了!
【解决方案2】:

我自己找到了方法:

<?php if ($title == "page1"): ?>
<div style=' height:145px; background-image:url(images/banners/banner<?
php echo rand(1,6); ?>.jpg); background-position:center center; border-
radius:4px;'></div>

<?php elseif ($title == "page2"): ?>
<div style=' height:145px; background-image:url(images/banners/banner<?php 
echo rand(7,9); ?>.jpg); background-position:center center; border-
radius:4px;'></div>

<?php endif; ?>

我只需要为每个页面创建新的“elseif”,并在我的网站上分配具有相同 header.php 的新横幅。

【讨论】:

    【解决方案3】:
    use if
    example
    if ($id == 1){
       <div style=' height:145px; background-image:url(images/banners/banner<?
          php 
              echo rand(1,3); ?>.jpg); background-position:center center; 
        border-
                   radius:4px;'></div>
          }
                 if ($id == 2){
             <div style=' height:145px; background-
          image:url(images/banners/banner<?php 
         echo rand(1,3); ?>.jpg); background-position:center center; border-
       radius:4px;'></div>
          }
        if ($id == 3){
             echo "no banner";
                  }
    

    帮助修复这个 sh!t mod,谢谢

    【讨论】:

    • 这不会编译,如果解决了,它每次都会显示相同的横幅!
    • 这不好用,再以我想要的为例:第一页有横幅 1 2 和 3,我的第二页有横幅 4、5、6,所有这些都具有相同的标题包含在我网页的每个开头
    猜你喜欢
    • 2011-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    相关资源
    最近更新 更多