mysql\u connect正在设置php标头

mysql\u connect正在设置php标头,php,mysql,http-headers,Php,Mysql,Http Headers,我的PHP脚本最终将插入到MySQL数据库中,我已经验证了变量,出于某种原因,将用户重定向回addserver.PHP并使用header报告以下错误: Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/includes/mysql.php:2) in /Applications/MAMP/htdocs/scripts/ad

我的PHP脚本最终将插入到MySQL数据库中,我已经验证了变量,出于某种原因,将用户重定向回addserver.PHP并使用header报告以下错误:

Warning: Cannot modify header information - headers already sent by (output started at /Applications/MAMP/htdocs/includes/mysql.php:2) in /Applications/MAMP/htdocs/scripts/addserver.php on line 61
这是位于/scripts/addserver.php的addserver.php的内容,不要与addserver.php混淆,后者是HTML表单页面

<?php
error_reporting(-1);
ini_set('display_errors', 'On');
session_start();
// must be logged in
if(!isset($_SESSION['loggedin'])) {
    header('location: /login.php?from=/addserver.php');
    exit();
}

// initialise errors array
$errors = array();

// connect to mysql
require('../includes/mysql.php');

// check name
if(empty($_POST['name'])) {
    array_push($errors, 'The server name field is required');
}
if(!strlen($_POST['name'])>=5 || !strlen($_POST['name'])<=30) {
    array_push($errors, 'Server name must be 5-30 characters long');
}
// check ip
if(empty($_POST['ip'])) {
    array_push($errors, 'IP address field is required');
}
if(!filter_var($_POST['ip'], FILTER_VALIDATE_IP) && !preg_match("/^([-a-z0-9]{2,100})\.([a-z\.]{2,8})$/i", $_POST['ip'])) {
    array_push($errors, 'IP address must be in valid x.x.x.x format and submitted without port.');
}
$ip = strip_tags(mysql_real_escape_string($_POST['ip']));
if(mysql_num_rows(mysql_query("SELECT id FROM servers WHERE ip='$ip'"))) {
    array_push($errors, 'Server IP has already been registered');
}
// check port
if(empty($_POST['port'])) {
    array_push($errors, 'Port is a required field');
}
if(!$_POST['port']>=1024 || !$_POST['port']<=65535) {
    array_push($errors, 'Port number must be 1024-65535');
}
if(!is_integer(intval($_POST['port']))) {
    array_push($errors, 'Port must be an integer (whole number)');
}
// check website link (not required)
if(!empty($_POST['website'])) {
    if(!filter_var($_POST['website'], FILTER_VALIDATE_URL)===false) {
        // try adding the http on
        $website = 'http://'.$_POST['website'];
        // try validation again
        if(!filter_var($website, FILTER_VALIDATE_URL)===false) {
            array_push($errors, 'Website URL must be valid');
        }
    }
}
// do banner upload later

// if errors are set, send back with errors array as a session var.
if(count($errors)!=1) {
    $_SESSION['adderrors'] = $errors;
    header('location: /addserver.php');
    // end script
    exit('Some variables were invalid.');
}
?>
这是mysql.php的内容:

<?php
mysql_connect('localhost','root','root');
mysql_select_db('findmcservers');
?>

尝试删除这些php文件中的关闭php标记?>。我看到一些主机对它们有不同的处理。

在标记之外的MySQL.php文件中是否有空格、空行等?@MarkBaker令人恼火的是,没有,我已经检查过了。然后您可能已经发现了PHP中一个相当大的错误:错误消息清楚地将mysql.PHP的第2行标识为生成输出的行。。。。如果那里没有输出,也没有任何可能产生错误输出的东西,那么就会出现严重的错误fault@MarkBakermysql_connect不应该输出任何内容,我在我的站点上都包含了该文件以连接到mysql-如果该文件在您包含它的任何其他地方都没有生成该错误,那么肯定有问题,确保包含的文件是正确的,并且子文件夹中没有隐藏其他mysql.php文件