Page 1 of 1

CGI

PostPosted: Fri Sep 29, 2006 5:51 pm
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

Re: CGI

PostPosted: Fri Sep 29, 2006 9:07 pm
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  Expand view
?? [Content-type: text/html]
?
? [<HTML>]
...


EMG

CGI

PostPosted: Fri Sep 29, 2006 9:48 pm
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

Re: CGI

PostPosted: Sat Sep 30, 2006 7:41 am
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

CGI

PostPosted: Sat Sep 30, 2006 2:55 pm
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  Expand view
?? [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

Re: CGI

PostPosted: Sat Sep 30, 2006 4:51 pm
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

CGI

PostPosted: Tue Oct 10, 2006 8:28 am
by chiaiese
è possibile invece inserire il risultato del CGI come "parte" della pagina invece che generarne una completamente nuova:
es:
Code: Select all  Expand view
<html>
<head>
html...
</head>
<body>
html...

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

altro html...

</body>
</html>


Roberto

Re: CGI

PostPosted: Tue Oct 10, 2006 8:33 am
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

PostPosted: Wed Oct 11, 2006 9:46 pm
by chiaiese
se a qualcuno interessa l'argomento... finalmente ho trovato una soluzione, forse non è la migliore ma funziona:

Code: Select all  Expand view
<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