这个 PHP 有什么问题?什么都没有出现


What's wrong with this PHP? Nothing is showing up

我正在尝试学习PHP,所以我很可能会犯一个非常初级的错误。

基本上,我有一个页面.php文件,它是我要创建的页面的类文件,我想将其包含在我的主页.php页面中(我使用 require 函数执行此操作)。但是,什么也没出现。我是根据我正在读的一本书来做的,它似乎在那里工作得很好。

页.php:

<?php
class Page {
    // attributes
    public $content;
    public $title = "TLA Consulting Pty Ltd";
    public $keywords = "TLA Consulting, Three Letter Abbreviation, some of my best friends are search engines";
    public $buttons = array("Home" => "home.php", "Contact" => "contact.php", "Services" => "services.php", "Site Map" => "map.php");
    public function __set($name, $value) {
        $this->$name = $value;
    }
    public function display() {
        echo "<html>'n<head>'n";
        $this->displayTitle();
        $this->displayKeywords();
        $this->displayStyle();
        echo "</head>'n<body>'n";
        $this->displayHeader();
        $this->displayMenu($this->buttons); // try this line without giving it the parameter
        echo $this->content;
        $this->displayFooter();
        echo "</body>'n</html>";
    }
    public function displayTitle() {
        echo "<title>$this->title</title>";
    }
    public function displayKeywords() {
        echo "<meta name='"keywords'" content='"$this->keywords'" />";
    }
    public function displayStyle() {
?>
        <style>
            h1 {
                color: white;
                font-size: 24px;
                text-align: center;
                font-family: helvetica, arial, sans-serif;
            }
            .menu {
                color: white;
                font-size: 12px;
                text-align: center;
                font-family: helvetica, arial, sans-serif;
                font-weight: bold;
            }
            td {
                background-color: black;
            }
            p {
                color: black;
                font-size: 12px;
                text-align: justify;
                font-family: helvetica, arial, sans-serif;
            }
        </style>
<?php
    }
    public function displayHeader() {
?>
        <table width="100%" cellpadding="12" cellspacing="0" border="0">
            <tr bgcolor="black">
                <td aling="left"><img src="http://i.imgur.com/xBrUZ.png" alt="Iron Man's finger" /></td>
                <td><h1>TLA Consulting Pty Ltd</h1></td>
            </tr>
        </table>
<?php
    }
    public function displayMenu($buttons) {
        echo "<table width='"100%'" bgcolor='"white'">'n";
        echo "<tr>'n";
        // calculate button size
        $width = 100 / count($buttons);
        while (list($name, $url) = each($buttons)) {
            $this -> displayButton($width, $name, $url, !this->IsURLCurrentPage($url));
        }
        echo "</tr>'n</table>'n";
    }
    public function IsURLCurrentPage($url) {
        if (!strpos($_SERVER['PHP_SELF'], $url)) {
            return false;
        }
        else {
            return true;
        }
    }
    public function displayButton($width, $name, $url, $active = true) {
        if ($active) {
            echo "<td width='"".$width."%'">
            <a href='"$url'"><img src='"http://i.imgur.com/xBrUZ.png'" alt='"$name'" /></a>
            <a href='"$url'"><span class='"menu'">$name</span></a>
            </td>";
        }
        else {
            echo "<td width='"".$width."%'">
            <img src='"http://i.imgur.com/xBrUZ.png'" />
            <span class='"menu'">$name</span>
            </td>";
        }
    }
    public function displayFooter() {
        echo "<p>I am a footer ololz</p>";
    }
}
?>

首页.php:

<?php
    require("page.php");
    $homepage = new Page();
    $homepage->content = "<p>Hi there, I like blueberries greatlly.</p>
                          <p>I hope you'll join me in loving blueberries!</p>"
    $homepage->display();
?>

任何见解将不胜感激。

两个问题:

  • this应该$this page.php的第 86 行。
  • 您需要在...blueberries!</p>"末尾加一个分号

如果未启用错误报告,则可能不会看到错误。

您使用php的开头和结尾不一致。

例如这里:

    public function displayStyle() {
?>
    <style>
        h1 {
            color: white;
            font-size: 24px;
            text-align: center;
            font-family: helvetica, arial, sans-serif;
        }
        .menu {
            color: white;
            font-size: 12px;
            text-align: center;
            font-family: helvetica, arial, sans-serif;
            font-weight: bold;
        }
        td {
            background-color: black;
        }
        p {
            color: black;
            font-size: 12px;
            text-align: justify;
            font-family: helvetica, arial, sans-serif;
        }
    </style>
  <?php  
  }

您正在启动一个函数,然后通过关闭 php 块"?>"来破坏它并粘贴一个样式表部分,该部分将在页面加载时回显。如果要使用此函数显示样式,则必须使其如下所示:

<?php
 public function displayStyle() {
 echo   "<style>".
        "h1 {".
            "color: white;";   
  }
 ?>

在主页中.php文件中,您在 ine 10 中缺少分号

在页面.php文件中,第 86 行缺少字符"$"

$this -> displayButton($width, $name, $url, !$this->IsURLCurrentPage($url));