我从以前的(不再提供帮助的)开发者那里继承了一个站点,我并没有太多的PHP编码器,所以请耐心等待。函数没有在PHP中定义变量
我不断收到错误,有些变量是不确定的和CMS管理工具栏一直显示在页面的顶部,即使我没有登录了。
重要事项这只是发生在我当地发展环境。
错误:
Notice: Undefined variable: buttons in /Users/shortname/Sites/sitename.com/public_html/admin/editable.class.php on line 275
编辑下面是完整的文件:
Pastebin of editable.class.php
在我的网页,我有一个包括
<?php
include_once 'admin/editable.class.php';
$page = new page(6, 2, 0);
echo $page->get();
?>
它的工作是抓住所有的页面元素从数据库并将其扔在页面上。
的包括后来在页面显示以及(在页脚)
<?
include_once "admin/editable.class.php";
$login = new dynamic;
if($login->isAdmin())
{
echo '
<div id="adminBar">
<div>
<h3>Admin Menu</h3> <span class="editable">Editable Pages: <a href="/company/media.php">In The Media</a> | <a href="/company/faq_about.php">FAQ</a> | <a href="/company/tradeshows.php">Tradeshows</a></span> <a class="logout" href="/admin">Logout</a>
</div>
</div>
';
}
?>
我以为是什么显示CMS信息栏和按钮,如果你是一个身份验证的用户。麻烦的是,我无法进行身份验证,也无法让警告消失。这里的认证功能editable.class.php
:
function isAdmin()
{
if (isset($_COOKIE["admin"]) && $_COOKIE["admin"] === sha1("username".$this->salt.$this->users["username"]))
{
$this->admin = true;
return true;
}
else
{
$this->admin = false;
return false;
}
}
function login()
{
if($this->isAdmin())
{
return true;
}
if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($this->users[$_SERVER['PHP_AUTH_USER']]) || $this->users[$_SERVER['PHP_AUTH_USER']] !== $_SERVER['PHP_AUTH_PW'])
{
header('WWW-Authenticate: Basic realm="Administration"');
header('HTTP/1.0 401 Unauthorized');
echo 'Authorization Required';
exit;
}
else
{
setcookie("admin", sha1("username".$this->salt.$this->users["username"]), 0, "/", ".sitename.com");
$this->admin = true;
return true;
}
}
function logout()
{
header('HTTP/1.0 401 Unauthorized');
setcookie("username", "", time() - 1, "/", ".sitename.com");
}
我尝试添加<?php setcookie("username", "", time() - 1, "/", ".sitename.com"); ?>
,看看我是否能清除cookie的数据,并删除了管理工具,但是,这也不能工作。我在本地开发环境中缺少什么会导致这些错误?
这里是粘贴bin ... http://pastebin.com/ir3uAXK2 – Ofeargall 2012-03-27 21:23:13
我的道歉离开国防部相关部分了。 – Ofeargall 2012-03-27 21:25:24
真棒,更新了我的答案(这是一个相当简单的修复)。 – 2012-03-27 21:27:16