使用HTML穿插的<! - ?php ...? - >块的变量范围

时间:2013-08-28 13:02:42

标签: php html scope

我对网页编写和技术都很陌生。如果这是一个非常基本的查询,请原谅我。此外,我整天都在研究这个问题,但我无法弄清楚为什么这不起作用。

我基本上是想为我的妻子改善一个网站。设计要求我们有一个共同的header.php文件,可以包含在网站包含的各种静态页面中。

现在作为一项新要求,他们希望定位针对不同关键字的几个静态网页,为此,公司希望设置不同的“标题消息”。所以我想在包含header.php之前动态传递一个不同的“$ page_heading”。

我的header.php中间插入了一堆HTML代码,因此以下内容似乎不起作用:

    In <mypage.php>:
    ...
    <body>
        <div class="container">
            <?php 
                //global page_header;
                $page_header = 'A Wildlife Resort of South India';
                include('header.php'); 
            ?>
    ...
    In <header.php>:
    <header class="row-fluid">
        <div class="header-main">
                <a href="http://www.innthewild.com" class="pull-left"><img src="http://www.innthewild.com/img/itw-logo.png" alt="Inn The Wild" style="margin-top:8px;"/></a>
            <div class="pull-right" style="height: 20px;">
                <nav>
    ...
        <div class="heading pull-right">
            <?php
                    if(!isset($page_heading)) {
                        $page_heading = 'A Wilderness Retreat &mdash; Masinagudi Jungle Resort, India';
                }
                echo $page_heading;
            ?>
        </div>
    ...

以上看起来似乎应该直接起作用,但变量似乎在新实例中失去了它的范围。我如何使这项工作?

以下是示例页面:http://www.innthewild.comhttp://innthewild.com/resorts-places-around-bangalore.php

2 个答案:

答案 0 :(得分:3)

您在$page_headermypage.php $page_heading中将其称为header.php

更改一个或另一个,以便变量名称在它们之间匹配

答案 1 :(得分:0)

你不需要传递它

$some_var = "text";
include "some.php";

您刚才包含的脚本可以访问$ some_var