如何修复PHP错误,使用未定义的常量并且无法修改标题信息?

时间:2015-10-02 14:30:17

标签: php

我的网站上有一个部分,其中已注册访问权限(并且具有现有个人资料)的用户可以编辑自己的个人资料。当用户单击以保存配置文件更改时,会出现以下4个PHP错误。我的理解是,由于第一个错误,通常会出现几个错误,所以我希望解决第一个问题就是它所需要的。在这里,我将仅提供1号的详细信息,而不是粘贴如此多的代码。

遇到PHP错误

  

消息:使用未定义的常量WEBMASTER - 假设' WEBMASTER'   文件名:controllers / content.php第285行

     

消息:无法修改已经发送的头信息头(输出   从////system/core/Exceptions.php:185开始   文件名:libraries / Sessions.php   672行

     

消息:无法修改已经发送的头信息头(输出   从////system/core/Exceptions.php:185开始文件名:   helpers / url_helper.php第542行

以下是1的代码。第285行以" $ permission"开头。

function edit($id="",$language=""){

    //which users are allowed to see this file.
    //* for everybody including those who are not registered
    //admin (or any other specific type for )
    $permission=array(ADMIN,WEBMASTER);
    $next_page=site_url("/content/manage");

这里有什么明显的错误吗?

3 个答案:

答案 0 :(得分:-2)

您需要定义常量:

DEFINE('WEBMASTER', 'webmaster content here')

关于已发送的'标题......这意味着当您已将输出发送到浏览器时,您正尝试修改标题。

答案 1 :(得分:-2)

首先,在数据发送完成后,您不能修改标题。

所以你应该在<!doctype html>之前放置修改标题的所有内容。只需确保在第一个<?php之前没有任何内容,即使不是一个空格。

示例:

<?php
    // do some header modification
?>
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml">
....
</html>

答案 2 :(得分:-2)

这意味着在使用header('Location:http://www.example.com/')这样的函数进行重定向之前,php文件中有一些输出! 你必须在调用标题函数之前注释所有“echo”“printf”或“html”。