mysql\u connect正在设置php标头
我的PHP脚本最终将插入到MySQL数据库中,我已经验证了变量,出于某种原因,将用户重定向回addserver.PHP并使用header报告以下错误: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
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文件