PHP头的奇怪连接已发送错误和javascript

PHP头的奇怪连接已发送错误和javascript,javascript,php,html,Javascript,Php,Html,编辑: 通过更好地阅读马里奥的答案解决了这个问题。在文件开头添加ob_start()解决了我的问题 最近我在php中发现了一个非常奇怪的行为:当出现某些javascript行时,php抛出“无法修改标题信息-标题已发送…”错误。 我读过很多帖子,说用header()函数修改页眉信息是不可能的,但我总能做到 代码是: if(this.innerHTML == "menu"){ document.getElementById("side_panel").style.left = "0px";

编辑: 通过更好地阅读马里奥的答案解决了这个问题。在文件开头添加ob_start()解决了我的问题

最近我在php中发现了一个非常奇怪的行为:当出现某些javascript行时,php抛出“无法修改标题信息-标题已发送…”错误。

我读过很多帖子,说用header()函数修改页眉信息是不可能的,但我总能做到

代码是:

if(this.innerHTML == "menu"){
    document.getElementById("side_panel").style.left = "0px";
    document.getElementById("side_panel").style.paddingLeft = "5vw";
    this.style.opacity = "0";
    setTimeout(function(){document.getElementById("nav_button").innerHTML = "close";document.getElementById("nav_button").style.opacity = "1"},200);
}
else {
    document.getElementById("side_panel").style.left = "-250px";
    document.getElementById("side_panel").style.paddingLeft = "0vw";
    this.style.opacity = "0";
    setTimeout(function(){document.getElementById("nav_button").innerHTML = "menu";document.getElementById("nav_button").style.opacity = "1"},200);
}
当我只保留以下内容时,它会起作用:

if(this.innerHTML == "menu"){}
再加上:

if(this.innerHTML == "menu"){
}
else{
}
让php抛出错误

请帮帮我,我没有希望了。
感谢大家的出色工作。

老实说,javascript无法影响PHP发送的标题-因为PHP在服务器上运行,javascript在PHP将整个页面发送到浏览器后在浏览器中运行。我认为问题在于,javascript在PHP更改标题之前修改了页面,所以PHP会抛出错误