Homepage Inspire-world | Forum
CGI/Perl Workshops CGI generierte Inhalte auf anderen Seiten anzeigen

 Inhaltsverzeichnis/Workshops Übersichtsseite/CGI generierte Inhalte auf anderen Seiten anzeigen
In diesem Workshop will ich einmal erläutern wie man CGI Scriptausgaben auf anderen Domains anzeigen lassen kann. Dies ist insbesondere für Serverversionen von Scripten nützlich bei denen der CGI Output direkt auf der Seite erscheinen soll. Mögliche Anwendungen sind Partnerlinks oder Votingservices.

Der Workshop hier baut auf den vorangegangenen Workshop auf der die Anzeige einer Textdatenbank beinhaltete.

Hier zunächst ein komplettes Beispielscript

#!/usr/bin/perl

########################################

print "Content-type:text/html\n\n";

open(DATEN,"<daten/daten.dat");
@daten = <DATEN>;
close(DATEN);

print qq~

document.write('<table width="350" border="0" cellpadding="1" cellspacing="2" align="center">');
document.write('<tr bgcolor="#000099"><td>');
document.write('<font face="verdana" color="#FFFFFF" size="2"><b> Name </b></font></td>');
document.write('<td><font face="verdana" color="#DDDDDD" size="2"><b> E-Mail </b></font></td></tr>');
~;



$total = 0;

foreach $i (sort @daten) {
chomp($i);
($name,$email) = split(/\|/,$i);
$total++;


if ($total =~ /[0,2,4,6,8]$/) {
$bg = "#CCCCCC";
}
else {
$bg = "#EEEEEE";
}

print qq~
document.write('<tr><td bgcolor="$bg"><font face="Verdana" size="2">$name</font> </td>');
document.write('<td bgcolor="$bg"><font face="Verdana" size="2">$email</font></td></tr>');
~;
}


print qq~
document.write('</table></td></tr></table>');
~;

Script Demo: ansehen

Mit diesem Code (URL anpassen) werden dann die Inhalte aufgerufen.
<script> document.write('<script src=http://www.inspire4you.de/cgi-bin/perlcgi/hp.cgi><\/script>'); </script>

Erläuterungen dazu:

Will man ein Script so umwandeln das man es mit obigem Aufruf einbinden kann so müssen alle Scriptausgaben mit
document.write(' ... '); versehen werden. Ansonsten ändert sich an dem Script erstmal weiter nichts.

Hinweis:
Dieses verfahren ist nicht dazu geeignet komplette Foren oder andere größere Applikationen anzuzeigen! Was man aber hiermit realisieren kann sind Menüs, Votings, kleine Linklisten, News ... Gerade für diejenigen die kein SSI haben kann es sehr nützlich sein. So ist es leicht bei einer Framelosen Homepage das Menü zu aktualisieren. Dieses geht dann sogar soweit das man dies Menü auf verschiedenen Servern einsetzen kann.

Hier ein Beispiel für ein Menü:

Script Demo: ansehen
#!/usr/bin/perl

########################################

print "Content-type:text/html\n\n";

print qq~
document.write('<table width="200" cellspacing="2" cellpadding="2" border="0"><tr>');
document.write('<td bgcolor="#000080"><font face="Verdana, Arial" size="2" color="#ffffff">Menü</font></td></tr><tr>');
document.write('<td bgcolor="#ECECEC"><font face="Verdana, Arial" size="2">');
document.write('<a href="http://www.inspire-net.de">Inspire-net</a><br>');
document.write('<a href="http://www.inspire4you.de/board/">Inspire-net Forum</a><br>');
document.write('<a href="http://www.inspire-net.de/perlcgi/">Inspire-net CGI-Workshop</a><br>');
document.write('<a href="http://www.inspire-net.de/cgiservice/download.shtml">Inspire-net Downloads</a><br>');
document.write('</font></td></tr></table>');
~;


 Zum Inhaltsverzeichnis/Workshops Übersichtsseite/CGI generierte Inhalte auf anderen Seiten anzeigen
Autor: Helmut Walter Homepage Inspire-world Fragen, Anregungen und Hinweise bitte in das Forum

Valid HTML 4.0! Valid CSS!