Sono sicuro che di quest'errore si sia già parlato tanto, quindi probabilmente qualcuno mi saprà dire il perchè e in cosa sbaglio poichè ho bisogno di capire.
Ho realizzato molte volte uno script di login, però visto che all'inizio mi trovai di fronte a quest'errore ho usato sempre funzioni di redirect diverse dal "header" e in alcuni casi la funzione ob_start per permettere il corretto funzionamento di qualche script, ora però vorrei capire il perchè di questo errore in cosa sbaglio nello scrivere uno script? qualcuno può dare a questo semplice codice di uno script che effettua il login che genere l'errore:
Warning: Cannot modify header information - headers already sent by (output started at xxx\login.php8) in xxx\login.php on line 26
Codice PHP:
<?
//Effettuo la connessione al database
include("connessione.php");
//recupero username e password dal sito
$password = $_POST['password'];
$username = $_POST['username'];
//simulo che esistano dei dati accesso amministratore
$usernameadmin = "pinco";
$passwordadmin = "palla";
//se non hai inserito tutte le informazioni
if (empty($password)|empty($username))
{
//genero l'alarm
?>
<SCRIPT type="text/javascript">
alert("Non hai inserito la password oppure l'username!");
</SCRIPT>
<?
header("Location: modulologin.php"); //si ricarica la pagina di login
exit;
}
//effettuo il controllo se sono o meno l'amministratore
if (($username==$usernameadmin)&($password==$passwordadmin))
{
//genero l'alarm
?>
<SCRIPT type="text/javascript">
alert("Benventuo Amministratore! Sta per essere reindirizzato al suo
pannello di controllo");
</SCRIPT>
<?
header("Location: pannello_di_controllo.php"); //si carica il pannello di
controllo
exit;
}
else
{
//seleziono le informazioni prenseti nel database corrispondenti a
username e password inseriti
$query="query di selezione delle info";
$result = mysql_query($query, $db);
//conto i risultati
$num_occorrenze = mysql_num_rows($result);
if ($num_occorrenze==0)
{
//genero l'alarm
?>
<SCRIPT type="text/javascript">
alert("Spiacente! Ha inserito
password e/o username non ricoosciuti o non esatti");
</SCRIPT>
<?
header("Location: modulologin.php"); //si carica il
pannello di controllo
exit;
}
if ($num_occorrenze==1)
{
//genero l'alarm
?>
<SCRIPT type="text/javascript">
alert("Benvenuto! Lei è l'utente xxx e sta per essere
reindirizzato!");
</SCRIPT>
<?
header("Location: paginax.php"); //si carica il
pannello di controllo
exit;
}
}
//Chiudo la connessione
mysql_close($db);
?>