User since
2005-03-03
54
Artikel
BenutzerIn
Hallo zusammen,
also ich habe gerade mal den Anfang mit Perl und CGI geschafft. Soll heissen ich habe einen HTML-Code erstellt der ein Eingabefeld und einen Button "Abschicken" beim Aufruf der html-Seite ausgibt. Beim Anklicken des Buttons "Abschicken" werden die Werte vom Eingabefeld an ein Perlscript zur Verarbeitung weitergegen und anschliessend das Ergebnis wieder an den Browser zurück geschickt.
Jetzt zu meinem eigentlichen Anliegen:
Ich möchte eine Homepage erstellen auf der zwei Pfeilbuttons angebracht werden sollen die nach Betätigung eine Grafik auf der Homepage (keine neue Seite aufmachen) anzeigen. Je nach dem auf welchen Pfeil man klickt soll die vorherige Grafik angezeigt oder eine neue Grafik erscheinen. Beim Klick auf den Pfeilbutton für die neue Grafik soll ein Perlscript gestartet werden dass eine bestimmte neue Grafik erstellt und in ein Verzeichnis ablegt von dem aus die Grafik dann zur Anzeige auf meiner Homepage bereit steht! Die Grafik soll aber immer auf der Homepage und nicht auf einer neuen Seite angezeigt werden!
Wer kann mir da ein bisschen weiterhelfen oder Hinweise geben? Mir geht es hauptsächlich:
1. Um das Erstellen solcher Pfeilbuttons im Html-Code die wiederum dann bei Betätigung ein Perl-script aufrufen
2. Um die Rückgabe der Grafik an die Homepage, die vom Perlscript erstellt und in einem Verzeichnis abgelgt wurde.
Danke im vorraus
Gruss rommi
User since
2003-08-04
14371
Artikel
ModeratorIn
Dafür arbeitest Du am besten mit Templates. Dafür kannst Du
HTML::Template::Compiled verwenden.
Template:
<html>
<body>
<img src="<!-- TMPL_VAR NAME=BILD -->"><br />
<a href="./bild.cgi?param1=<!-- TMPL_VAR NAME=PARAM -->"><img src="./images/pfeil1.jpg"></a>
<a href="./bild.cgi?param1=<!-- TMPL_VAR NAME=PARAM -->"><img src="./images/pfeil2.jpg"></a>
</body>
</html>
bild.cgi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl
use CGI::Carp qw(fatalsToBrowser);
use strict;
use warnings;
use CGI;
use HTML::Template::Compiled;
my $cgi = CGI->new();
my %params = $cgi->Vars();
print $cgi->header();
my $template_file = 'template.tmpl';
my $tmpl_obj = HTML::Template::Compiled->new(filename => $template_file);
# berechne Bild
$tmpl_obj->param(BILD => 'pfad/zu/neuem/Bild', PARAM => 'Wert für PARAM');
print $tmpl_obj->output();
Du musst natürlich noch einiges anpassen und ggf.
HTML::Template::Compiled installieren