Okay, also das ganze Dingens läuft über ein Form, das die Variablen an die selbe Seite übergibt:
<form action="http://..." method="post" enctype="multipart/form-data">
Die Eingabe erfolgt auch ganz normal über:
<input name="ort:="> usw.
<input type="submit" value="Suchen">
Nichts Aufregendes also. Nach dem Submit geht's auf der selben Seite mit Perl los:
init "events";
if (!($_range_length)) {
$_range_length=$browseamount;
$_range=0; }
$rparam.="&_Datum_Tag~=$tag" if $tag;
$rparam.="&_Datum_Monat~=$monat" if $monat;
$rparam.="&_Datum_Tag~=$jahr" if $jahr;
$rparam.="&Ort~=$ort" if $ort;
$rparam.="&_fullsearch~~$such" if $such;
if($rparam==""){
$rquery=$_amount_all;
}else{
$rquery=$_amount_query;
}
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
$BrowseLine ="<tr><td colspan=\"3\" align=\"center\">[ ";
if ($oldrange>=0) {
$BrowseLine .= "<a href=\"$BPpath/$basepath&range=$oldrange,$_range_length$rparam\">Vorherige Seite</a> | "; }
else {
$BrowseLine .= "Vorherige Seite | "; }
$BrowseLine .= "<a href=\"#suchen\">suchen</a> | ";
if ($newrange<$rquery) {
$BrowseLine .= "<a href=\"$BPpath/$basepath&range=$newrange,$_range_length$rparam\">Nächste Seite</a> ]"; }
else {
$BrowseLine .= "Nächste Seite ]";
}
$BrowseLine .= "</td></tr>";
$ort =~ s/\ /\\\ /g;
get "_Datum_Tag==$tag&_Datum_Monat==$monat&_Datum_Jahr==$jahr&Ort~=$ort&_fullsearch~~$such sort=Datum range=$_range,$_range_length", "events", "DATA";
if($_amount_query==1){
$eintr="ausgewählter Eintrag";
}else{
$eintr="ausgewählte Einträge";
}
out "<tr><td colspan=\"3\" align=\"center\"><h3>( $_amount_query $eintr )</h3></td></tr>";
out "<tr><td colspan=\"3\"><br></td></tr>";
out $BrowseLine;
out "<tr><td colspan=\"3\"><br></td></tr>";
out "<tr><td colspan=\"2\" class=\"s\">Wann:</td><td class=\"s\">Wo:</td></tr>";
while (get_next("DATA"))
{
$dat=datum($Datum,"Tag. Monatname Jahr");
$zeit=datum($Uhrzeit,"Stunde:Minute");
if(index($Karten,"http://")==0){
$Karten="<a href=\"$Karten\" target=\"_blank\">$Karten</a>";
}
out "<tr bgcolor=\"#cceedd\"><td>$dat</td><td>$zeit Uhr</td><td>$Ort</td></tr><tr><td colspan=\"3\">$Veranstaltung</td></tr>";
out "<tr><td>Karten:</td><td colspan=\"2\">$Karten</td></tr>" if $Karten;
out "<tr><td>Email:</td><td colspan=\"2\"><a href=\"mailto:$Mail\">$Mail</a></td></tr>" if $Mail;
out "<tr><td colspan=\"3\"><br></td></tr>";
}
out $BrowseLine;
Wie gesagt, ohne Abfrage geht die Blätterfunktion tadellos, und mit dem Code, wie ich ihn jetzt hab, wird auch das Suchergebnis korrekt angezeigt, und man kann einmal nach vorn blättern. Dann aber sind die übergebenen Variablen weg. Klar, man könnte sie auch in einem anderen Form speichern und dieses mit der Blätterfunktion abschicken, dann wären sie wieder da. Aber ich denke, da gibt's bestimmt eine viel einfachere Lösung.