- Home
- Categorie
- Coding e Sistemistica
- PHP
- Warning: session_start() [function.session-start]: Cannot send session cache limiter
-
Warning: session_start() [function.session-start]: Cannot send session cache limiter
Ciao ragazzi, ho cercato ci sono alcune problematiche simili, ma non sono riuscito a risolvere, comunque ho messo un session_start() all'inizio di una mia pagina php e mi esce fuori questo warning:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at miosito/.....
Sapete cosa posso fare?
perchè praticamente creo la sessione nella pagina precedente a questa, passo i dati a questa pagina che quindi per leggerli ha bisogno del session_start() ed esce questo brutto warning
Chiaramente non c'è nessun codice prima di esso:
[php]
<?PHP
session_start();
?>
//RESTO DEL CODICE HTML.......
[/php]
-
Sicuro che prima di session start non ci sia niente? include o roba del genere?
-
Eh vorrei dirti di no, ma purtroppo è così, è la prima cosa sia all'inizio della pagina sia dopo il tag di apertura del php...
-
allora non sò che dirti...
-
Ti ringrazio ugualmente ^^
-
it.php.net/manual/en/function.session-start.php#73952
it.php.net/manual/en/function.session-start.php#73277
-
Ciao saro78 grazie anche a te per la risposta, ma purtroppo le problematiche di php.net me le sono viste un pò tutte già da prima (comunque per scrupolo ho riprovato con i tuoi link) ma niente il problema persiste..:(
-
scwd, posta tutti i codici php presenti nella pagina nell'ordine come stanno...
-
scusa e se mettessi l'include DOPO la sessione?
-
Oliviero cosa intendi? quale include? comunque jeeves ora sono a lavoro e non ho il sorgente qui, comunque ho provato sia prima di tutto il codice (anche quello html):
[HTML]
<?PHP session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- e così via... -->
[/HTML]
Ho provato anche a metterlo dopo il doctype e in altri mille modi. Devo vedere se funziona in un altro modo che ho trovato appena torno a casa e vi faccio sapere. ciao:D
-
Ma nella pagina che hai postato sta altro codice php?
-
Certo, ti posto solo l'inzio dell'altro codice php poi ci sono un pò di operazioni di routine quindi penso che ti interessa sapere dell'inizio:
[php]
<?PHP
function data_it($data) //CREARE DATA ITALIANA DD/MM/YYYY
{
// Creo una array dividendo la data YYYY-MM-DD sulla base del trattino
$array = explode("-", $data);
// Riorganizzo gli elementi in stile DD/MM/YYYY
$data_it = $array[2]."/".$array[1]."/".$array[0];
// Restituisco il valore della data in formato italiano
return $data_it;
}if (!isset($_SESSION['nick']))
.......................
[/php]
-
Allora ragazzi, ho provato con questi metodi qui prima del session_start() ma non va...
session_cache_limiter(nocache);
session_cache_limiter(private);
session_cache_limiter(public);
Il vero codice di inizio pagina è:
<FONT face="Courier New" color=#007700>[PHP]
<?PHP
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
[/PHP]
-
Eccomi ragazzi che vi dò la soluzione che ho trovato:
-Aprire il file del problema (es. prova.php) con blocco note di windows, e salvare con nome (stesso nome) con codifica ANSI.
A questo punto il problema si risolve (se il session_start() è nella posizione giusta ovviamente), ma ne sorge un altro, cioè se avete caratteri speciali all'interno del testo della pagina (è,ò,à...) vedrete tanti quadratini. Per ovviare a questo problema allora sostituire il carattere incriminato (es. è) con è.
Comunque per vedere anche altre soluzioni ho aperto un ticket al mio servizio di hosting, il quale mi ha risposto che effettivamente nella pagina codificata in UTF-8 vedono (con un editor di testo che gira solo su mac) dei strani caratteri prima del session_start() ecco il perchè del warning.
Spero che questa soluzione serva a qualcuno ciao ciao
-
devo tirarti le orecchie?
qua cosa c'è scritto?:codificata in UTF-8 vedono (con un editor di testo che gira solo su mac) dei strani caratteri BOM, si chiamano BOM non strani caratteri.
-
Ihihi sorry saro va bene comunque sono caratteri strani lo stesso grazie ^^
-
io ho il problema inverso, cioè sono costretto a trasformare il mio file php in utf-8 (sto inserendo caratteri cirillici), e quindi ottengo lo stesso warning visualizzato da scwd, che prima ovviamente non avevo.. qualcuno sa darmi un aiutino?
-
Volevo cancellare la mia domanda perchè sono riuscito a trovare la soluzione, ma non ne trovo la possibilità.
A questo punto vi spiego come ho fatto, che magari a qualcuno serve: invece che salvarlo in ANSII, l'ho salvato sempre in UTF-8, ma senza i BOM. Purtroppo BloccoNote non te ne da la possibilità, ma basta scaricare un editor tipo BabelPad (gratuito e leggerissimo) per poterlo fare senza problemi. E così, sparendo i "caratteri strani" si risolve il problema!
-
Ciao egualandi,
grazie per aver postato anche questa soluzione
-
@scwd said:
Spero che questa soluzione serva a qualcuno ciao ciao
Grazie mille, mi hai risparmiato un bel pò di tempo