CGI

Moderator: Enrico Maria Giordano

Post Reply
chiaiese
Posts: 56
Joined: Wed Feb 08, 2006 10:32 pm
Location: Roma, Italia
Contact:

CGI

Post by chiaiese »

Ciao a tutti,
sto facendo alcuni test con applicazioni CGI, il problema è che mentre sembra funzionare con Iexplorer, con Mozilla Firefox mi visualizza in output tutti i tag HTML senza interpretarli, da cosa può dipendere ?
Uso Apache installato in locale e Firefox 1.5.0.7

P.S. qualcuno conosce o ha mai usato il CMS Typo3 ?

Roberto Chiaiese
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: CGI

Post by Enrico Maria Giordano »

chiaiese wrote:Ciao a tutti,
sto facendo alcuni test con applicazioni CGI, il problema è che mentre sembra funzionare con Iexplorer, con Mozilla Firefox mi visualizza in output tutti i tag HTML senza interpretarli, da cosa può dipendere ?
Uso Apache installato in locale e Firefox 1.5.0.7
Controlla di aver inviato il Content-type:

Code: Select all

?? [Content-type: text/html]
?
? [<HTML>]
...
EMG
chiaiese
Posts: 56
Joined: Wed Feb 08, 2006 10:32 pm
Location: Roma, Italia
Contact:

CGI

Post by chiaiese »

questo è il sorgente che dovrebbe creare la pagina

? [Content-type: text/html]
? [<HTML>]
? [<HEAD>]
? [<TITLE>My test</TITLE>]
? [</HEAD>]
? [<BODY>]
? [<p1>Parametri ]+cUsr+" "+cPwd+[<br></p1>]
? [<A HREF = "test.htm"><H3>Torna indietro</H3></A>]
? [</BODY>]
? [</HTML>]

e questo è l'output che genera a video su Firefox (IExplorer è ok)

Content-type: text/html
<HTML>
<HEAD>
<TITLE>My test</TITLE>
</HEAD>
<BODY>
<p1>Parametri admin system <br></p1>
<A HREF = "test.htm"><H3>Torna indietro</H3></A>
</BODY>
</HTML>

ho trovato su internet qualcuno che segnala un errore simile, dicono sia un problema di MIME-TYPE ?? Cos'è esattamente ?

ho provato anche a mettere il doppio ?? come nel tuo esempio ma mi dà errore del server 500

ciao e grazie
Roberto
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: CGI

Post by Enrico Maria Giordano »

chiaiese wrote:questo è il sorgente che dovrebbe creare la pagina

? [Content-type: text/html]
? [<HTML>]
No, così è sbagliato. Devi inviare una riga vuota tra il Content-type e il tag HTML. Fai esattamente come nel mio esempio e vedrai che funziona.

EMG
chiaiese
Posts: 56
Joined: Wed Feb 08, 2006 10:32 pm
Location: Roma, Italia
Contact:

CGI

Post by chiaiese »

è vero, ora funziona, sono necessari sia il doppio ?? che la riga vuota dopo il content-type
grazie Enrico.

ora, che tu sappia è possibile integrare i cgi con php ?
ho provato qualcosa del genere ma non ha funzionato:

Code: Select all

?? [Content-type: application/php]
        ?
        ? [<HTML>]
        ? [<HEAD>]
        ? [<TITLE>Errore</TITLE>]
        ? [</HEAD>]
        ? [<BODY>]
        ? '<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>'
        ? [<p1>Parametri ]+cUsr+" "+cPwd+[<br></p1>]
        ? [<A HREF = "test.htm"><H3>Torna indietro</H3></A>]
        ? [</BODY>]
        ? [</HTML>]
probabilmente perché l'output viene inviato direttamente al browser senza essere riprocessato dal server
hai qualche idea ?

Roberto
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: CGI

Post by Enrico Maria Giordano »

chiaiese wrote:ora, che tu sappia è possibile integrare i cgi con php ?
Non credo. Se è il CGI che genera l'output come può questo essere generato anche da un altro linguaggio server-side? Invece si può tranquillamente utilizzare il Javascript che è un linguaggio client-side.

EMG
chiaiese
Posts: 56
Joined: Wed Feb 08, 2006 10:32 pm
Location: Roma, Italia
Contact:

CGI

Post by chiaiese »

è possibile invece inserire il risultato del CGI come "parte" della pagina invece che generarne una completamente nuova:
es:

Code: Select all

<html>
<head>
html...
</head>
<body>
html...

come eseguo mycgi.cgi(params) che restituisce una tabella ?

altro html...

</body>
</html>
Roberto
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: CGI

Post by Enrico Maria Giordano »

Potresti mettere nella pagina un simbolo riconoscibile che poi vai a sostituire. Quindi: carichi la pagina con MemoRead(), sostituisci il simbolo (sarà una stringa di caratteri riconoscibile) con l'HTML aggiuntivo da inserire precedentemente preparato, poi spari il tutto in output.

EMG
chiaiese
Posts: 56
Joined: Wed Feb 08, 2006 10:32 pm
Location: Roma, Italia
Contact:

Post by chiaiese »

se a qualcuno interessa l'argomento... finalmente ho trovato una soluzione, forse non è la migliore ma funziona:

Code: Select all

<body>
html...

<! genero la mia tabella da harbour !! >
<?php passthru( "testexe1.exe params" ); ?>

altro html...

</body>
in realtà sto lavorando in un CMS (content management system) e non ho il controllo sulla pagina che viene generata perchè è il CMS che la genera.
Di conseguenza ci posso solo inserire un "elemento di contenuto" tramite uno script che richiama il mio eseguibile nel modo mostrato sopra

ciao a tutti
Roberto
Post Reply