1

我目前正在为我臭名昭著的 Minecraft 投票系统制作一个控制面板——但是我遇到了一个问题。我的代码在 XAMPP 上运行良好 - 但在我的网络服务器上无法运行。

我有两页。一个是登录页面,一个是索引。登录页面只是获取 SQL 数据库的用户信息,并检查它,将用户登录,并使用 html 元刷新进行重定向,因为网络服务器不允许使用 PHP 标头。

索引页简单地说“欢迎 $user”。所有这些都像 XAMPP 上的魅力一样,但在我的网络服务器上运行得不是很好。由于登录时出现此错误:

Warning: Cannot modify header information - headers already sent by (output started at /home/linkycra/public_html/MonlotronCP/login.php:3) in /home/linkycra/public_html/MonlotronCP/login.php on line 136

这是 login.php 代码 - http://puu.sh/1IrEu.png

这是 index.php 代码 - http://puu.sh/1IrF1.png

谢谢!

4

4 回答 4

1

在您的标头函数之前必须有一些 html 或空格,请检查它。

于 2013-01-02T12:58:21.477 回答
0

检查此页面上的示例:http: //php.net/manual/en/function.headers-sent.php

它可以帮助您追踪它发生的位置

于 2013-01-02T13:10:11.750 回答
0

setcookie()在已经将 HTML 发送到浏览器之后使用。setcookie()将发送一个 HTTP 标头,但会出错,因为您已经在表单之前发送了 HTML。错误仅在您登录时出现的原因是触发 setcookie() 时。一旦内容已经输出到浏览器,您就不能发送 HTTP 标头。

它在一台机器上而不是另一台机器上工作的原因是一台机器已error_reporting打开或设置为显示,而另一台没有,或者它们处于不同的错误级别。您需要setcookie()在输出任何内容之前重组代码运行位置<html><!DOCTYPE>以及任何空格。

于 2013-01-02T13:20:31.107 回答
0

可以通过输出缓冲来解决,如果它是一个错字,你应该解决它。

于 2013-01-02T13:20:35.153 回答