Ciao a tutti,
Gentilmante qualcuno mi saprebbe dire che cosa vuol dire questo errore:
PHP Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at D:\.........
Il codice lo controllato una decina di volte ormai con varie configurazioni ma mi da sempre lo stesso errore.
Vi posto il codice di (utenti online) dovrebbe visualizzare il munero di visitatori nel home.
<-------------------inizio codice ----------->
Codice PHP:
<?php
session_start();
$ip = $_SERVER["REMOTE_ADDR"];
$ip = str_replace(".", "", $ip); //Tolgo i puntini dall'ip, per comodità.
if(!$_SESSION["Visita"]) //Se non c'è alcuna sessione "Visita" da parte del visitatore... { $_SESSION["Visita"] = array("tempo" => time(), "id" =>
$ip); //...gliene assegno una! } function check() {
$file = file("online.txt"); //File che contiene i visitatori attivi.
$tempo_online = 600; //Il tempo dopo il quale il visitatore è da considerarsi off-line. foreach($file as $riga) {
$ix = explode("|", $riga);
if(time() >= $ix[1]) {
$w[] = "";
$b = 1; } else {
$w[] = $riga; } } if($b) { $w = implode("", $w); $fu = fopen("online.txt", "w+"); fwrite($fu, $w); fclose($fu); } } function online($tipo) {
$tempo_online = 600; //Il tempo dopo il quale il visitatore è da considerarsi off-line.
$file = file("online.txt"); foreach($file as $rigo) {
$ex = explode("|",$rigo);
if($ex[0] == $_SESSION["Visita"]["id"]) {
$w[] = $ex[0]."|".($_SESSION["Visita"]["tempo"] + $tempo_online)."|\n";
$a = 1; } else {
$w[] = $rigo; } }
if(!$a) //Nuova visita. {
$fp = fopen("online.txt", "a+");
fwrite($fp, $_SESSION["Visita"]["id"]."|".($_SESSION["Visita"]["tempo"] + $tempo_online)."|\n"); fclose($fp); }
else //Visita aggiornata. {
$w = implode("", $w);
$fp = fopen("online.txt", "w+");
fwrite($fp, $w);
fclose($fp); }
check(); //controllo se qualche sessione è scaduta.
$agg = file("online.txt"); //Rileggo il file. if($agg[0] != "") {
$n_online = count($agg); } else {
$n_online = 0; }
if(!$tipo) { return "Utenti connessi: ".$n_online; //Mostra: Utenti connessi: # } else { return "document.write('Utenti connessi: ".$n_online."');";
}
}
?>
<--------- per stampare a video ------>
Codice PHP:
<?php include("online.php"); //online.php è la pagina con il codice dello script echo online(0);
?>
Un saluto
e grazie per leventuale risposta