Neues lesen erzwingen

Ich habe ein ähnliches Problem wie Thomas (zwei Artikel weiter unten).
Ich habe eine Perl-Datei, die neue html-Dateien erzeugt. Dazu wird zuerst zuerst die Anzahl der bereits vorhandenen Dateien („Zahl“) gelesen und danach eine neue Datei vom Typ XYZahl.htm erstellt.
Irgendwie gibt’s aber ein Problem damit, das Ganze läuft nämlich nur, wenn ich jeweils immer wieder die Cache lösche.
Meine Frage nun: Gibt es eine Möglichkeit zu verhindern, dass die Perl-Datei aus der Cache gelesen wird?
Mein Ansatz wäre es, die perl-Datei nach dem Muster action=„XY.pl?ZV“ aufzurufen, wobei ZV eine Zufallsvariable ist, die ich jeweils z.B. mit der aktuellen Systemzeit generiere. Das geht nun aber nicht so einfach, weil ich ja die Variable (z.B. erstellt mit JavaScript) nicht so einfach in den html-Code schreiben kann.

Ich wäre daher froh, wenn es noch irgendeine elegantere Lösung für mein Problem gibt.

Stephan

Ich habe ein ähnliches Problem wie Thomas (zwei Artikel weiter
unten).
Ich habe eine Perl-Datei, die neue html-Dateien erzeugt. Dazu
wird zuerst zuerst die Anzahl der bereits vorhandenen Dateien
(„Zahl“) gelesen und danach eine neue Datei vom Typ XYZahl.htm
erstellt.

Wenn die unten genannte Lösung für Deinen Fall nicgt funktioniert, dann setz die beiden folgenden Meta Header in die HEAD Sektion Deiner Seite

Klaus

Ich bin nicht ganz sicher, ob das mein Problem löst. Ich will das die Perl-Datei jedesmal neu geladen wird, nicht die daraus erzeugte HTML-Datei.
Wenn ich dich richtig verstehe, bezieht sich dein Vorschlag aber auf eine HTML-Datei, oder?
Wenn nicht: Wo muss ich dann das hinschreiben, einfach an den Anfang der Perl-Datei?

Stephan

Wenn die unten genannte Lösung für Deinen Fall nicgt
funktioniert, dann setz die beiden folgenden Meta Header in
die HEAD Sektion Deiner Seite

Klaus

Ich bin nicht ganz sicher, ob das mein Problem löst. Ich will
das die Perl-Datei jedesmal neu geladen wird, nicht die daraus
erzeugte HTML-Datei.
Wenn ich dich richtig verstehe, bezieht sich dein Vorschlag
aber auf eine HTML-Datei, oder?
Wenn nicht: Wo muss ich dann das hinschreiben,
einfach an den Anfang der Perl-Datei?

Nope, in die HEAD Sektion der erzeugten HTML Datei, damit der Browser das Script erneut aktiviert, weil er der Meinung ist, die Seite ist „expired“
oder Du verwendest u.g. Lösung, sie erzwingt das selbe Verhalten (zumindest sollte es) aber insbesodnere MS IE hält sich nicht immer an die Spezifikation.

Besten Dank
Ich hab zwar nich ganz begriffen warum (hab immer gemeint die Meta-Angabe beziehe sich nur auf die aktuelle Datei, nicht auf die aus ihr aufgerufenen), aber es klappt nun alles.
Vielen Dank für deine Hilfe!

Stephan

Ich hab zwar nich ganz begriffen warum (hab immer gemeint die
Meta-Angabe beziehe sich nur auf die aktuelle Datei, nicht auf
die aus ihr aufgerufenen), aber es klappt nun alles.

Sie bezieht sich auch auf die aktuelle Datei - aber …
… die vom Browser angeforderte Datei (HTML Seite) „sagt“ dem Browser, das sie „expired“ ist. Somit sollte (muss nicht) der Browser die Datei beim nächsten Darstellen beim Server neu anfordern.
Da die Seite durch ein Perl Script generiert wird (dynamischer Content) wird durch dieses erneute Holen das Perl Script auf dem Server dazu veranlasst wieder loszulegen.

Verstanden? :wink:

Vielen Dank für deine Hilfe!

Bitte …

Leider funktionierts doch nicht :frowning:
Leider gehts trotz gegenteiliger Beteuerung noch immer nicht. Ich hatte vorher die Cache manuel gelöscht, darum ist’s auch gegangen.
Nochmals mein Problem, dass glaub ich eben doch anders ist, als du meist:
Ich habe eine html Datei (xy.htm) in welcher ein Formular steht. Dieses Formular ruft auf „onSubmit“ die Perl-Datei (xy.prl) auf. Was ich nun will, ist dass genau diese Perl-Datei jedesmal neu geladen und nicht die Kopie davon in der Cache verwendet wird.
Also: weder die aufrufenden HTML-Datei noch die durch das Perl-Srcipt generierte HTML-Datei ist mein Problem, sondern die Perl-Datei selber.
Als Beispiel zu Klärung:
wenn ich meine Datei 2x hintereinander mit xy.perl aufrufe, habe ich ein Problem.
Wenn ich aber beim 2. Mal xy.prl?irgendwas eingebe klappt alles.

Hoffe noch immer auf Hilfe

Stephan

Leider gehts trotz gegenteiliger Beteuerung noch immer nicht.
Ich hatte vorher die Cache manuel gelöscht, darum ist’s auch
gegangen.
Nochmals mein Problem, dass glaub ich eben doch anders ist,
als du meist:
Ich habe eine html Datei (xy.htm) in welcher ein Formular
steht. Dieses Formular ruft auf „onSubmit“ die Perl-Datei
(xy.prl) auf. Was ich nun will, ist dass genau diese
Perl-Datei jedesmal neu geladen und nicht die Kopie davon in
der Cache verwendet wird.
Also: weder die aufrufenden HTML-Datei noch die durch das
Perl-Srcipt generierte HTML-Datei ist mein Problem, sondern
die Perl-Datei selber.
Als Beispiel zu Klärung:
wenn ich meine Datei 2x hintereinander mit xy.perl aufrufe,
habe ich ein Problem.
Wenn ich aber beim 2. Mal xy.prl?irgendwas eingebe klappt
alles.

Ehrlich gesagt wird mir immer weniger klar.

  1. Formulare werden nicht mit OnSubmit ausgelößt, sondern lösen eine Post- (in einigen Fällen auch eine Get-) Aktion aus
    OnSubmit ist Java-Script
  2. .prl bzw. .perl klingt nicht nach einer Perl Extension (die lauten üblicherweise .cgi oder .pl).
  3. Eine Perl Datei wird nicht vom Browser geladen, sondern auf dem Server ausgeführt.

Sorry, ich kann Dir einfach nicht folgen, was Du treibst - entweder bin ich plöt oder Du versuchst etwas, was so nicht funktionieren kann …

Klaus *am Kopf kratzend*

Kein Wunder, dass du dich am Kopf kratzst. Ich glaub ich war gestern ein bisschen zu lange vor dem Computer… Sorry für das wirre Zeug, das ich geschrieben habe (.prl, onSubmit…). Ich habe heute mein Programm nochmals in aller Ruhe durchgeschaut und jetzt klappt alles. Der Fehler lag ganz woanders. Manchmal brauchts halt einfach ein wenig Abstand und schon geht’s… (aber man will natürlich immer, dass alles sofort läuft).

Herzlichen Dank nochmals für deinen Support

viele Grüsse

Stephan

Ehrlich gesagt wird mir immer weniger klar.

  1. Formulare werden nicht mit OnSubmit ausgelößt, sondern
    lösen eine Post- (in einigen Fällen auch eine Get-) Aktion aus
    OnSubmit ist Java-Script
  2. .prl bzw. .perl klingt nicht nach einer Perl Extension (die
    lauten üblicherweise .cgi oder .pl).
  3. Eine Perl Datei wird nicht vom Browser geladen, sondern auf
    dem Server ausgeführt.

Sorry, ich kann Dir einfach nicht folgen, was Du treibst -
entweder bin ich plöt oder Du versuchst etwas, was so nicht
funktionieren kann …

Klaus *am Kopf kratzend*