perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 25
Click for quality!




11.02.2012 / 21:24

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragPerl CGI - Frames anzeigen?
Seitenanfang
Hi @all,

hab mir gerade eine Kleine HTML Seite mit Frames gebastelt.
Jetzt möchte ich hinter dieser Seite ein Perlskript zum laufen bringen, den ich auch schon geschrieben habe.
Leider hab ich jetzt kein Plan, wie ich das zum laufen bringen soll.
Hab jetzt den Frame Code in das GGI File geladen, aber das funkt nicht wirklich:

#!/usr/bin/perl

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ USE ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Perl Funktionen
use CGI;
use Switch;

# Eigene Funktionen
use checkSAMBA;
use checkDISK;

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Variablen ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Values der Radiobuttons
$value_dienste="dienste";
$value_disk="disk";
$value_samba="samba";

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ HTML ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Neues Objekt $query erzeugen
$query = new CGI;

print $query->header(); # HTML Header ausgeben
print <<HTMLCODE;
<html>
<frameset rows="22,*" cols="*" frameborder="no">
<frame src="headFrame.html" name="headFrame" scrolling="No" noresize="noresize" />
<frameset rows="*" cols="176,*" frameborder="no">
<frame src="naviFrame.html" name="naviFrame" scrolling="No" noresize="noresize" />
<frame src="mainFrame.html" name="mainFrame" scrolling="No" noresize="noresize" />
</frameset>
</frameset>
</html>
HTMLCODE


Kann mir jemand weiter helfen?

Datum: 27.06.2007-13:52

Beitragre: Perl CGI - Frames anzeigen?
Seitenanfang
Okay, aber was funktioniert denn nicht? Fehlermeldung?

Datum: 27.06.2007-18:29

Beitragre: Perl CGI - Frames anzeigen?
Seitenanfang
Hi,

hab hin bekommen.
Ich hab jetzt den HTML-CODE und den Perlcode getrennt.
HTML in htdocs und Perl in cgi-bin.
Was ist eigentlich üblich? Ich dachte es wäre besser, wenn man den HTML-Code in den cgi´s reinpackt?!

Datum: 28.06.2007-09:06

Beitragre: Perl CGI - Frames anzeigen?
Seitenanfang
Ueblich ist es Programmcode von Darstellung zu trennen, so verwendet man Templates die Platzhalter enthalten die durch das Programm mit entsprechenden Werten gefuellt werden.
Dadurch kann der Designer leicht das Layout der Templates veraendern ohne dass er etwas ueber die Programmiersprache wissen muss.

Fuer Perl gibt es eine Reihe solcher Template-Engines (HTML::Template, HTML::Template::Compiled, Template::Toolkit, Petal, ...), ein Beispiel fuer Template-Toolkit das ueber eine Schleife eine Benutzerliste ausliest und Links zum Bearbeiten des Benutzer erstellt.


[%# File: userlist.tt %]

<ul>
[% FOREACH user IN user_list %]
<li>
<a href="[% base_url _ '/edit/user?user_id=' _ user.id %]">
Edit: [% user.name %]
</a>
</li>
[% END %]
</ul>


Diese Benutzerliste ist nur eine Teilkomponente und kann in jeden anderen Template eingebunden werden, zum Beispiel auf der Indexseite:


[# File: index.tt' %]
<html>
<head>
<title>
Index Page
</title>
</head>
<body>
[% INCLUDE 'userlist.tt' %]
</body>
</html>

Im Perlcode wuerde man dann die Datenstruktur fuer die Benutzerliste aufbauen, an das 'index.tt'-Template als Parameter uebergeben, verarbeiten und ausgeben.


# ...

my $userlist = [
{ id => 1,
name => 'BenutzerA' },
{ id => 2,
name => 'BenutzerB' },

# ...
];

my $template = Template->new();

$template->process('index.tt', { user_list => $userlist) or die $template->error;


Beispiele sind on-the-fly geschrieben, also ohne Gewaehr.

Datum: 29.06.2007-14:12

-






-
-