- Home
- Categorie
- Coding e Sistemistica
- Coding
- Errore incompreso
-
Errore incompreso
Allora ragazzi tra un pò avrò l'esame orale...2 settimane và...e devo ancora mettere a punto un'esercitazione che porto come argomento d'informatica...allora, in una pagina php a video mi esce un errore del genere :
"Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\programmi\easyphp1-8\www\biblioteca\sceglilibro.php:2) in c:\programmi\easyphp1-8\www\biblioteca\sceglilibro.php on line 3 "
Ecco il mio file PHP :
<html>
<?php
session_start();
include "connetti2.php";
$seleziona='select codlibro,titolo
from libri;';
$esegui=mysql_query($seleziona);
print("<table border>");
print("<tr style=font-weight:bold>");
print("<td><h3>scegli un libro</h3></td></tr>");
while($dati=mysql_fetch_object($esegui))
{$p=$dati->codlibro;
print("<tr><td><a href=richiesta.php?codice=$p><'$p'></td>");
print("<td>'$dati->titolo'</td></tr></a>");
}
print("</table>");
?>
</html>.Io penso che l'errore sia in quel punto interrogativo prima di codice 5 righe prima della chiusura del file...voi che en dite ???
Aiutatemi vi prego ...non vorrei fare brutta figura all'esame, sono un candidato ad avere un buon voto!
-
Se non sbaglio è perchè l'istruzione session_start(); va come prima riga di tutto in testa al codice.
Ma è da un po che non tocco Php
-
Possibile che eliminando la riga si sia risolto il problema ?
-
Il problema risiede nel <html> prima del <?
L'inizializzazione di una sessione ( in quanto facente parte degli header di una richiesta ) richiede che ancora l'invio dei dati ( di qualunque tipo ) non sia iniziata.
qual semplice <html> interrompe l'invio degli header, e comincia ad inviare il codice html... Quindi la soluzione sarebbe spostare tale pezzetto di html dopo l'inizializzazione della sessione.
PS: questo vale non solo per il tag <html> ma qualunque cosa, anche un singolo spazio sarebbe responsabile dello stesso errore!
-
Allora ci avevo azzeccato.
