errore warning su session_start ed header

salve a tutti, ho fatto una funzione per il login del amministratore , soltanto che su session_start mi da un errore warning ,questa e la funzione function LoginAdministrator($login,$pass,$remember=false)    {    global $dbcore , $smarty;    $pass = md5($pass);    $sql = mysql_query(  "select *                                    from amministrator                            where`nick` ='{$login}'                            and `pass` = '{$pass}'                            and `stato` = 1                                     and `tipo` = 3                                     limit  1") or die (mysql_error());          $result = mysql_num_rows($sql);                   if($result ==1){          session_start();            $_SESSION['areaprivata_login']=$login;            $_SESSION['areaprivata_password']=$pass;          return true;              }          else          {          return false;      }     }    , e questo e l erroreWarning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\supp\includes\fuzion_administrator.php:56) in C:\Programmi\Apache Software Foundation\Apache2.2\htdocs\supp\includes\fuzion_administrator.php on line 35potrei inserire  un ob_star(); per non rendere visibile l errore  ma mi hanno sugerito che e meglio sistemarlo correttamente, qual cuno mi saprebbe dare una mano grazie

inviato 8 anni fa
roccochiolo
X 0 X

http://www.phpnews.it/forum/index.php?topic=3662.0 in questo topic l'user ha il tuo stesso errore, prova a vedere quei (pochi) suggerimenti che ci sono!

Ciao!

risposto 8 anni fa
Hroud
X 0 X

La funzione session_start() deve essere lanciata prima che lo script produca dell'output. Nel tuo caso invece alla riga 56 dello script fuzion_administrator.php viene generato dell'output.

Cosa c'è a quella riga?

Per evitare questo problema ci sono diverse tecniche, la più semplice è porre session_start() come prima istruzione da eseguire.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda