Larry: HTML AN CGI, oder PLATZHALTER AN CGI?

Hallo!

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.
Ich möchte gerne eine Mail Oberfläche für die Schule schreiben und jeder Schüler,
soll das Layout selbergestalten können (wenn er will), hierzu soll er Platzhalter definieren und
die erstezte ich (WIEEEE) durch Variablen..

Vielen Dank!

Larry

  1. 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

    1. 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!!

      Larry

      1. 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.

        So, wie Du Dir das vorstellst, würde ich es ungefähr auch machen.
        Daß Du nicht vorher weißt, welche Variablen zu ersetzen sind, macht nichts - du bekommst ja auch ihre Namen via CGI übergeben.

        Bisher hast Du noch gar nichts darüber ausgesagt, in welcher Sprache Du das Problem lösen willst (CGI ist nur eine Schnittstelle, keine Sprache).
        Der Vorschlag von CK1 verwendete Perl, und angesichts Deiner Aufgabenstellung würde ich das auch nahelegen (wegen der regulären Ausdrücke).

        Im Prinzip brauchst Du dann ungefähr folgendes (aus dem Kopf zusammengeraten):
        1. CGI-Parameter übernehmen (Perl-Modul "CGI")
        2. HTML-Schablonendatei öffnen (funktion "open", ggf. Fehler abfragen)
        3. Datei einlesen (Operator <>, per Schleife alles in einen einzigen langen String speichern, um anschließend elegant ersetzen zu können)
        4.a Schleife über alle CGI-Parameter
        4.b jeweils den zugeordneten Wert im Inhalt der Schablone ersetzen (reguläre Ausdrücke, globale Ersetzung "/g")
        5. Ergebnis der Verarbeitung nach stdout ausgeben (funktion "print").

        So - nun heißt es Handbuch lesen ...