$end ???

Ciao Gianni...

Grazie per l'aiuto che mi hai dato finora...

Ora provando a copiare del codice di un tutorial per l'implementazione di un guestbook, di nuovo mi sono arenato...

l'output che mi d il browser (per il file header che incriminato):

Parse error: syntax error, unexpected $end in C:\Programmi\Apache Group\Apache2\htdocs\guestbook\header.php on line 198

ora, per il codice, che mi sembra di aver copiato perfettamente da un tutorial, a parte i commenti in pi... Mi puoi spiegare dove sbagliato?? Cosa significa?? Non esiste nessuna variabile end, eppure mi sembra che l'errore si trova verso la fine dello script!!

Grazie.

allego il codice:

[allegato eliminato dall\' amministratore]

inviato 11 anni fa
ninux
X 0 X

Ciao ninux,

l'errore che hai ricevuto di tipo "Parse error" ovvero un errore individuato dal parser. Il parser quella parte di PHP che effettua una lettura preliminare dello script prima di eseguirlo e, tra le diverse cose, ne controlla la sintassi (corretta chiusura delle parentesi, dei tag PHP, ecc.)

Nello specifico il parser ha trovato un errore nella sintassi dello script (syntax error), in particolare ha riscontrato la fine inaspettata dello script (unexpected $end in ... on line 198). $end quindi per il parser il tag di chiusura "?>" che inaspettato perch la riga 135 ( EOQ;) contiene uno spazio di troppo.

In pratica le righe 126-135 servono a stampare una stringa che viene delimitata con la tecnica Heredoc (vedi qui)

Questa tecnica prevede di chiudere una stringa ponendo un identificatore proprio all'inizio dell'ultima riga. Nel tuo script invece, alla riga 135 l'identificatore, nel tuo caso "EOQ;" preceduto da uno spazio.

Il PHP quindi non capisce che l finisce la stringa e considera tutto il restante codice, fino alla fine, come una stringa. Ma arriva alla fine e si trova il tag di chiusura "?>" ed ovviamente inaspettato perch, secondo il PHP, c' ancora una stringa che non stata chiusa.

Morale della favola: togli lo spazio iniziale alla riga 135.

Ciao.

EOQ;

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

Grazie mille Gianni!

Come il solito sei stato prezioso, che Dio ti benedica! :angel:

risposto 11 anni fa
ninux
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda