Warning: Cannot modify header information - headers already sent by...

lucavalentino

Utente Attivo
15 Lug 2006
114
0
16
Ho guardato in giro per la rete il significato dell'errore e ho capito che potrebbe capitare che stampo qualcosa prima del header ma nel mio codice non sembra cosi non ditemi di guardare
http://kb.creativepark.it/kb/entry/4/ già fatto.

Ecco l'errore

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\xampp\htdocs\xxxxxx\include\common.inc.php:51) in C:\xampp\xampp\htdocs\xxxxxx\librerie\login.inc.php on line 34

Codice:
<?php
	session_start();
	require_once("librerie/login.inc.php");
	include("include/common.inc.php");
	require_once("librerie/config.inc.php");
	require_once("librerie/db.php");
	if (isset($_POST['usern'])) {
		$result = esegui_login($_POST['usern'],$_POST['passw']);
		$error_message = $result;
	}
    
    mainheader("login");
    pageheader();    
?>
	<div>
	<p class="error"><?php echo $error_message; ?></p>
	<form method="post" name="login"> 
	<p>Username:<br />
	<input name="usern" type="text" class="textfield" id="usern" size="30"></p>
	<p>Password:<br />
        <input name="passw" type="password" class="textfield" id="passw" size="30"></p>
	<input name="submit" type="submit" value="Login">
	</form>
	</div>	
<?php
	pagefooter();
	mainfooter();
?>
il file login.inc.php
Codice:
<?php   

function verifica_login()
{
	if (is_null($_SESSION['user'])) 
	{	return  false;	}
	else
	{	return true;	}

}
function esegui_login($username, $password)
{
		$sql = 'SELECT username, livello
			FROM users 
			WHERE username = ''.$username.'' AND password = ''.$password.''';
				
		$result = db_query($sql);
		if (db_num_rows($result) == 1) 
		{
			$row = db_fetch_assoc($result);
			$_SESSION['user'] = $row['username'];
			$_SESSION['livello'] = $row['livello'];
			if($_SESSION['livello']==0)
			{	header('Location: index.php');	}
			else if ($_SESSION['livello']==1)
			{	header('Location: amministratore.php');    }
		}
		else
		{
			$errorMessage = 'Username o password errati';
		}
	
	}
	return $error_message;
}
?>

Per connetermi con mysql e php e apache uso xampp su windows 7 64bit

Mettendo tutto il sito su altervista funziona tutto.

aiutooooo :incazz2:
 
Ultima modifica:

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Probabilmente le impostazioni tra il tuo Windows e i loro server Linux sono diverse, comunque fai una cosa, metti nel primo file in alto, prima della chiamat alle sessioni, la funzione ob_start() e infondo allo stesso file ob_end_flush() dovrebbero risolvere.
L'errore è sicuramente il richiamo di uno dei due header all'interno dell'altro file (login.inc.php) mancano i numeri di riga ma immagino sia una di quelle a causare l'errore; se non dico cavolate, sono le sette di mattina cacchio, non puoi in un file incluso richiamare un header, ma presumo anche che in uno dei tanti file che hai incluso, forse in uno o più di essi hanno una chiamata a session_start() o un riferimento ai cookie.
 

lucavalentino

Utente Attivo
15 Lug 2006
114
0
16
L'errore è sicuramente il richiamo di uno dei due header all'interno dell'altro file (login.inc.php) se non dico cavolatenon puoi in un file incluso richiamare un header, ma presumo anche che in uno dei tanti file che hai incluso, forse in uno o più di essi hanno una chiamata a session_start() o un riferimento ai cookie.

Nei file collegati non ho nessuna chiamata session allora dipende tutto da windows 7 e xampp.
Come potrebbere essere riferimento ai cookie?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
fai come ha detto marco grazia, oppure considera che il require (e l'include) è considerato un output html, quindi devi metterlo dopo
 

MarcoGrazia

Utente Attivo
15 Dic 2009
852
20
28
62
Udine
www.stilisticamente.com
Infatti, tra l'altro pensavo mentre leggevo il tuo codice che require e include sono oramai considerati uno l'alias dell'altro e non c'è più differenza tra loro tranne che per gli errori che rilasciano.
require = E_ERROR e include E_WARNING ovviamente non c'entra nulla col tuo problema :)
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
magari è solo una sciocchezza, hai controllato che non ci sia un session_start anche nel file per il login?
 

IscariotKiss

Nuovo Utente
27 Mag 2010
16
0
0
Magari dico una scemenza, ho iniziato da 2 giorni con il php ma negli script di prova che sto facendo dopo l'header (nel tuo caso):

PHP:
else if ($_SESSION['livello']==1) {	
header('Location: amministratore.php');    }

non ci va un exit; per terminare lo script corrente?
una cosa del tipo:

PHP:
else if ($_SESSION['livello']==1) {	
header('Location: amministratore.php');  
exit; }
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
secondo me (ma i super esperti eventualmente mi smentiscano) l'exit e superfluo, quando cambi pagina con l'heder lo scrip muore.

p.s.
non so se è un errore di monitor, ma in php è un else if deve scriversi elseif senza spazi
 

IscariotKiss

Nuovo Utente
27 Mag 2010
16
0
0
ciao
secondo me (ma i super esperti eventualmente mi smentiscano) l'exit e superfluo, quando cambi pagina con l'heder lo scrip muore.

p.s.
non so se è un errore di monitor, ma in php è un else if deve scriversi elseif senza spazi

thnx per l'info sull'exit.
testando in questi giorni ho notato che else if o elseif non fanno differenza.

p.s.: ripeto abbiate pazienza se il 99% di quello che dico sono stupidagini è tutta inesperienza e si accettano consigli ^^'
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
G [PHP] Warning: Cannot modify header information - headers already sent by PHP 3
H Warning: Cannot modify header information... PHP 6
M Warning: Cannot modify header information - headers already sent by (output started a PHP 1
H Warning: session_start() [function.session-start]: Cannot send session cache limiter PHP 8
M Warning: session_start(): Cannot send session cache... ???? PHP 5
F [MySQL] Warning 1265 data truncated for column... MySQL 5
B Warning: mysql_connect(): Access denied for user 'DIREZIONE'@'81.88.55.179' (using password: YES) PHP 6
G [PHP] Problema - Warning: session_start() [function.session-start] PHP 9
G Warning: mysql_num_rows() che problema è? PHP 3
P Warning: mysqli_query() expects parameter 1 to be mysqli PHP 2
C ERRORE: Warning: move_uploaded_file()... come risolverlo? PHP 1
JackIlPazzo Warning: Invalid argument supplied for foreach() PHP 1
N warning su sessione PHP 2
F Warning: Invalid argument supplied for foreach() PHP 3
A Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given PHP 17
L Problema messaggio d'errore -Warning: mysqli_num_rows() expects parameter 1 to be mysqli_ etc etc... PHP 2
pup3770 Su Mac funziona - su windows da warning PHP 9
E Warning: session_start() PHP 1
P Warning: mysql_num_rows() expects parameter 1 to be resource, array given in PHP 9
A Warning: mysql_result() expects parameter 1 to be resource, boolean given MySQL 2
I Warning: Division by zero in Joomla 0
S Help : Warning: mail() [function.mail] PHP 2
P Warning email() PHP 116
catellostefano CLASSE PHP Warning: mysql_fetch_assoc() expects parameter 1 to be resource PHP 2
Frank10 Problema w3c warning HTML5 -.-" HTML e CSS 5
neo996sps Warning su redirect della pagina PHP 9
M Warning: mysql_query() expects parameter 2 to be resource, boolean given PHP 3
S Warning sulle sessioni, come fare? PHP 1
catellostefano Problema per richiamare file xml -- Warning: DOMDocument::load() [domdocument.load]: PHP 0
L Warning: mysql_fetch_assoc() expects parameter 1 to be resource, null given in .... PHP 2
S errore warning mysql_ferch_array() e mysql_free_result() PHP 5
A Warning strano PHP 2
JellyBelly Warning Uso Rename PHP 2
W Warning: main(./WEB-INF/etc/config.php): PHP 3
M Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in PHP 6
C problema con un warning PHP 0
L Error Code: 1215. Cannot add foreign key constraint MySQL 3
M non static method cannot be referenced from a static context Java 1
M Errore pagina php 'Cannot detect primary key' PHP 8
G Errore Cannot read property 'childNodes' of undefined per mancanza nodo nel file xml XML 6
romeocharly [WordPress] .../ffmpeg/ffmpeg32.so: cannot execute binary file" WordPress 11
A Errore: cannot call methods on dialog prior to initialization; attempted to call method 'open' jQuery 4
JackIlPazzo Cannot add foreign key constraint MySQL 1
J Errore the value cannot be null or empty ASP.NET 1
Nik Cannot send session cache limiter - ERRORE utilizzando session_start(); PHP 3
L Error: int cannot be dereferenced Java 1
filippino Fatal error: Cannot redeclare (function) PHP 2
L Cannot find executable for CFBundle Sviluppo app per iOS 0
L ITSM-9000 the bundle identifier cannot be changed from the current value Sviluppo app per iOS 0
D Cannot find XELDZ in all drives Windows e Software 0

Discussioni simili