(CGI) HTML AN CGI, oder PLATZHALTER AN CGI?
Larry
- cgi
0 CK10 Larry0 Dennis Plöger0 Larry
0 n.d. parker
Ursprüngliche Nachricht zum Thema: (CGI) HTML AN CGI, oder PLATZHALTER AN CGI? von CK1, 10.Mai.2000, 01:10 Uhr
Die folgende Nachricht zum Thema stammt von: Larry, dsbs@gmx.de, 10.Mai.2000, 18:15 Uhr
Hi,
Ich habe ein kleines Problem, wie kann ich mit einer HTML-SEITE
Platzhalter definieren, die später von meinem Perl Programm durch
Variablen erstetzt werden.na, wenn die Platzhalter bekannt sind, ist das doch einfach...
einlesen und ersetzen:foreach (@html_datei)
»» {
»» $_ =~ s/<!-- platzhalter -->/$ersetz1/g;
»» $_ =~ s/<!-- platzhalter1 -->/$ersetz2/g;
»» }
hierzu soll er Platzhalter definieren und die erstezte ich
(WIEEEE) durch Variablen..Wenn die Platzhalter unbekannt sind, wirds schwieriger.. dann musst
du dir deinen eigenen Parser schreiben. Der muss den String auf
vorkommen bestimmter Signale (z. B. <!--var platzhalter -->)
duchsuchen, etwa so:foreach (@html_datei)
»» {
»» $_ =~ /<!--var (.*) -->/;
»» $platzhalter = $1;
»» $_ =~ s/$platzhalter/$var{'$platzhalter'}/g;
»» }
Wie du jetzt bestimmst, was du damit machst, weiss ich auch nicht,
dazu brauch ich naehere Infos:
- Wie genau hast du dir das mit den Platzhaltern vorgestellt?
- Sind die Variabel oder statisch?
- usw, usw ,)
mfg
CK1
Also: Ich habe mir das wie folgt vorgestellt: Eine HTML Seite übergibt an einm CGI_Scipt USERNAME und EMAIL.
(mail_request.cgi?USERNAME=PETERPANSKI....)
In dieser HTML-DATEI befinden sich auch Paltzhalter: <USERNAME>{Wert}</USERNAME>
Nun mnöchte ich {Wert} durch etwas erstetzen. Das Problem ist, in unserer Schule gibt es 300 Rechner
für 1000 Schüler und jeder bekommt seine HTML-Seite, die er auch auf seiner Homepage integrieren soll.
Diese sollen die Schüler selber gestalten.
Wie komme ich an die Daten der HTML-SEITE heran?
Ich müsste teoretisch die Adresse kennen, die HTML_SEITE einlesen (Wie open?????) die Paltzhalter
ersetzen und die Daten zurück liefern in ihrem Layout.
Vielen Dank!!
Hi,
Nun mnöchte ich {Wert} durch etwas erstetzen. Das Problem ist, in
unserer Schule gibt es 300 Rechner
für 1000 Schüler und jeder bekommt seine HTML-Seite, die er auch
auf seiner Homepage integrieren soll.
Diese sollen die Schüler selber gestalten.
Wie komme ich an die Daten der HTML-SEITE heran?
Ich müsste teoretisch die Adresse kennen, die HTML_SEITE einlesen
(Wie open?????) die Paltzhalter ersetzen und die Daten zurück
liefern in ihrem Layout.
wenn das ganze ein Unix- oder Linux-System ist, dann liegen die
Userverzeichnisse normalerweise in
/home/username
Ansonsten leg dir eine entsprechende Strucktur an, sprich, du legst
ein Verzeichnis
c:\users\
oder so an, in dem die Home-Verzeichnisse nach den Usernamen
benannt sind. So waere der Pfad fuer den User "xyz" z. B.
c:\users\xyz\
bzw
/home/xyz
auf die Dateien des Users zugreifen.
Die HTML-Dateien koennten dann ja z. B. in einem Verzeichnis
c:\users\xyz\html
bzw
/home/users/html
liegen. So koenntest du mit
open(HTML_DAT,"/home/$username/html/html_datei.html") or die("$!);
bzw.
open(HTML_DAT,"c:\users$username\html\html_datei.html") or die("$!");
zugreifen.
In dieser HTML-DATEI befinden sich auch Paltzhalter: <USERNAME>
{Wert}</USERNAME>
Das mit dem Ersetzen hab ich ja oben schonmal beschrieben ,)
Regulaere Ausdruecke sollten genau das machen, was du willst...
sinnvoller waere nur, finde ich zumindest, folgende Strucktur:
<!--username=wert -->
da man hier leichter auf den Wert zugreifen kann.
Also: Ich habe mir das wie folgt vorgestellt: Eine HTML Seite
übergibt an einm CGI_Scipt USERNAME und EMAIL.
(mail_request.cgi?USERNAME=PETERPANSKI....)
aber achte bei Unix-/Linux-Systemen auf Gross- und Kleinschreibung...
XYZ != xyz!
mfg
CK1
Hi,
Nun mnöchte ich {Wert} durch etwas erstetzen. Das Problem ist, in
unserer Schule gibt es 300 Rechner
für 1000 Schüler und jeder bekommt seine HTML-Seite, die er auch
auf seiner Homepage integrieren soll.
Diese sollen die Schüler selber gestalten.
Wie komme ich an die Daten der HTML-SEITE heran?
Ich müsste teoretisch die Adresse kennen, die HTML_SEITE einlesen
(Wie open?????) die Paltzhalter ersetzen und die Daten zurück
liefern in ihrem Layout.wenn das ganze ein Unix- oder Linux-System ist, dann liegen die
Userverzeichnisse normalerweise in/home/username
Ansonsten leg dir eine entsprechende Strucktur an, sprich, du legst
ein Verzeichnisc:\users\
oder so an, in dem die Home-Verzeichnisse nach den Usernamen
benannt sind. So waere der Pfad fuer den User "xyz" z. B.c:\users\xyz\
bzw
/home/xyz
auf die Dateien des Users zugreifen.
Die HTML-Dateien koennten dann ja z. B. in einem Verzeichnisc:\users\xyz\html
bzw
/home/users/html
liegen. So koenntest du mit
open(HTML_DAT,"/home/$username/html/html_datei.html") or die("$!);
bzw.
open(HTML_DAT,"c:\users$username\html\html_datei.html") or die("$!");
zugreifen.
In dieser HTML-DATEI befinden sich auch Paltzhalter: <USERNAME>
{Wert}</USERNAME>Das mit dem Ersetzen hab ich ja oben schonmal beschrieben ,)
Regulaere Ausdruecke sollten genau das machen, was du willst...
sinnvoller waere nur, finde ich zumindest, folgende Strucktur:<!--username=wert -->
da man hier leichter auf den Wert zugreifen kann.
Also: Ich habe mir das wie folgt vorgestellt: Eine HTML Seite
übergibt an einm CGI_Scipt USERNAME und EMAIL.
(mail_request.cgi?USERNAME=PETERPANSKI....)aber achte bei Unix-/Linux-Systemen auf Gross- und Kleinschreibung...
XYZ != xyz!mfg
CK1
Danke!!!! Ich arbeite in der Regel mit Linux.
Aber eine Frage habe ich immer noch, wie soll ich auf eine HTML-Seite zugreifen,
wenn die Leute keinen HTTP Server haben?
Danke auch für Deinen Hinweis mit den Platzhaltern!
Larry
Hallo Larry!
Aber eine Frage habe ich immer noch, wie soll ich auf eine HTML-Seite zugreifen,
wenn die Leute keinen HTTP Server haben?
Du solltest die angesprochene Dir-Struktur in dem Verzeichnis des Webservers installieren.
(unter linux bsp: /usr/local/httpd/htdocs/thewebpages/userxyz)
dann kannst Du auch darauf zugreifen. Das musst du sowieso machen, da sonst keine
Website über Server erreichbar ist...
Bis denne,
Dennis
P.S.: Du brauchst nicht immer _alles_ zu übernehmen, was in der Antwort stand ;-)
P.S.: Du brauchst nicht immer _alles_ zu übernehmen, was in der Antwort stand ;-)
Danke, besser so?
;-) Tja, [Mm]an[n]* ist eben doch lehrnfähig! ;-)
Danke, besser so?
Seeeehr viel besser *g*. Viel Spaß bei der Einrichtung in der Schule..
Bis denne,
Dennis
Wieso funktioniert
folgendes nicht: open(HTML_DATA, "http://localhost/personal_mail.html");?
Vielen Dank!
Hi,
Wieso funktioniert folgendes nicht:
open(HTML_DATA, "http://localhost/personal_mail.html");?
Weil "open" nur fuer lokale Dateien gedacht ist und kein Netzwerk-
Interface hat... dafuer gibt es LWP ,)
mfg
CK1
Weil "open" nur fuer lokale Dateien gedacht ist und kein Netzwerk-
Interface hat... dafuer gibt es LWP ,)
Und wie öffne ich dann eine HTML_DATEI, die auf einem anderen Rechner liegt
z.B. die Datei mail.html auf spike (mein Server)?
Kann ich die Daten dann genau wie mit open weiter verarbeiten?
Danke!
mfg Larry
hi,
bitte, larry, nicht unnoetig text quoten, thx...
cua
n.d.p.