Fatal error: Call to undefined method Page::DisplayMenu() in C:\WebServers\home\my-site.ru\www\page.inc on line 39
page.inc
<?php
class Page
{
var $content;
var $title = 'TLA Consulting Pty Ltd';
var $keywords = 'TLA Consulting, Three Letter Abbreviation,
some of my best friends are search engines';
var $buttons = array( 'Home' => 'home.php',
'Contact' => 'contact.php',
'Services'=> 'serveces.php',
'site Map'=> 'map.php'
);
function SetContent($newcontent)
{
$this->content = $newcontent;
}
function SetTitle($newtitle)
{
$this->title = $newtitle;
}
function SetKeywords($newkeywords)
{
$this->keywords = $newkeywords;
}
function SetButtons($newbuttons)
{
$this->buttons = $newbuttons;
}
function Display()
{
echo "<html>\n<head>\n";
$this -> DisplayTitle();
$this -> DisplayKeywords();
$this -> DisplayStyles();
echo "<head>\n<body>\n";
$this -> DisplayHeader();
$this -> DisplayMenu($this->buttons);
echo $this->content;
$this -> DisplayFooter();
echo "</body>\n</html>\n";
}
function DisplayTitle()
{
echo '<title>'.$this->title.'</title>';
}
function DisplayKeywords()
{
echo "<meta name\"keywords\" content=\"$this->keywords\">";
}
function DisplayStyles()
{
?>
<style>
h1 {color:white; font-size:24pt; text-align:center;
font-family:arial,sans-serif}
.menu {color:white; font-size:12pt; text-align:center;
font-family:arial,sans-serif; font-weight:bold}
td {background:black}
p {color:black; font-size:12pt; text-align:justify;
font-family:arial,sans-serif}
p.foot {color:white; font-size:9pt; text-align:center;
font-family:arial,sans-serif; font-weight:bold}
a.link,a:visited,a:active{color:white}
</style>
<?php
}
function DisplayHeader()
{
?>
<table width="100%" cellpadding = 12 cellspacing = 0 border = 0>
<tr bgcolor = black>
<td align = left><img src = "logo.gif"></td>
<td>
<h1>TLA Consulting</h1>
</td>
<td align = right><img src = "logo.gif"></td>
</tr>
</table>
<?php
}
function DislpayMenu($buttons)
{
echo "<table width = \"100%\" bgcolor = white"
."cellpadding = 4 cellspacing= 4>\n";
echo " <tr>\n";
//вычисление размеров кнопки
$width = 100/count($buttons);
while (list($name, $url) = each($buttons))
{
$this-> DisplayButton($width, $name, $url, !$this->IsURLCurrentPage($url));
}
echo " </tr>\n";
echo "</table>\n";
}
function IsURLCurrentPage($url)
{
if(strpos($GLOBALS['script_name'],$url) == false)
{
return false;
}
else
{
return true;
}
}
function DisplayButton($width,$name,$url,$active = true)
{
if($active)
{
echo "<td width = \"$width%\">
<a href = \"$url\">
<img src = \"s-logo.gif\" alt = \"$name\" border = 0></a>
<a href= \"$url\"><span class = menu>$name</span></a></td>";
}
else
{
echo "<td width = \"$width%\">
<img src = \"side-logo.gif\">
<span class = menu>$name</span></td>";
}
}
function DisplayFooter()
{
?>
<table width = "100%" bgcolor = black cellpadding = 12 border = 0>
<tr>
<td>
<p class=foot>© TLA Consulting Pty Ltd.</p>
<p class=foot>Please see our <a href="">
legal information page</a></p>
</td>
</tr>
</table>
<?php
}
}
?>
Спустя 6 минут, 26 секунд (20.01.2012 - 13:56) Placido написал(а):
Очепятка.
DislpayMenu != DisplayMenu
DislpayMenu != DisplayMenu
Спустя 4 минуты, 13 секунд (20.01.2012 - 14:01) RockerMisha написал(а):
точно! спасибо
а вот еще такая фигня
Notice: Undefined index: SCRIPT_NAME in C:\WebServers\home\my-site.ru\www\page.inc on line 100
меню не хочет отображать
а вот еще такая фигня
Notice: Undefined index: SCRIPT_NAME in C:\WebServers\home\my-site.ru\www\page.inc on line 100
меню не хочет отображать
Спустя 11 минут, 26 секунд (20.01.2012 - 14:12) minok94 написал(а):
Так то в книге откуда ты это все перепечатал все правильно написано, не проще ли там сверить?
PS книга называется: "Разработка Web-приложений с помощью PHP и MySQL"Люк Веллинг и Лора Томсон)))
PS книга называется: "Разработка Web-приложений с помощью PHP и MySQL"Люк Веллинг и Лора Томсон)))
Спустя 1 час, 42 минуты, 6 секунд (20.01.2012 - 15:54) RockerMisha написал(а):
100 раз проверял не могу найти ошибку(
Спустя 5 минут, 9 секунд (20.01.2012 - 15:59) Winston написал(а):
Обращаещься к какому-то массиву по индексу SCRIPT_NAME а такого индекса нету.
Спустя 11 минут, 15 секунд (20.01.2012 - 16:10) asokol написал(а):
if(strpos($GLOBALS['script_name'],$url) == false)- тут поищите 101 раз. :)