Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 13:11.
Variable in Blätterscript einbauen
Hallo,
ich habe in meinem Webprojekt eine Session / Kunden ID, welche zufällig erzeugt wird, und durch das komplette Projekt mitgeschleppt wird.
Diese wird auch zusätzlich in einer separaten DB gespeichert.
Funktioniert soweit auch.
Die Variable heist kid
Nur beim Blätter Script hat der Spaß ein Ende.
Um zu sehen was ich meine, kann diese Liste hier aufgerufen werden.
Aufruf: http://marysoltouristik-domizile.de/cgi-bin/baseportal.pl?htx=/marysoltouristik-domizile.de/immoconzept/Test345980
Wenn man mit der Maus über die Bilder fährt, ist die kid noch unten im
Browser zu sehen. Fährt man aber über die Links des Blätter Scripts ist sie weg.
Habe schon versucht, im Blätter Script mit get die Variable zu holen,
geht aber auch nicht. Kommt eine Fehlermeldung. Also so:
<perl>
get "&kid";
my $range=$_range_length;
my $blaettern=$_range_length;
usw, ......
.....
...usw.
Warscheinlich bin ich komplett auf dem Holzweg.
Hier mal das Blätter Script komplett.
<perl>
get "Id==* _fullsearch~=$suche fullsearch_match=500 range=$v,6 @_sel", "marysol";
</perl>
<loop _fullsearch~=$suche fullsearch_match=500 sort^=-Id code=perl db=marysol range^=$v,6>
out<<EOF;
# Hier steht die Ausgabe Tabelle
EOF
</loop>
<perl>
my $range=$_range_length;
my $blaettern=$_range_length;
my $blaetter_lang=$range*6;
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
my $color='#CCCCCC';
my $color_vonbis='#FFFFFF';
my $color_zahl='#CCCCCC';
my $color_vorzu='#CCCCCC';
my $color_balken='#CCCCCC';
my $font='Arial, Verdana, Arial';
my $size='2';
my $table='';
my $table_align='left';
#$_amount = $amount_sav;
#$_amount_query = $amount_query_sav;
out "<div align=$table_align>";
out "<table width=$table cellpadding=4 height=25 cellspacing=4><tr align=left>
<td bgcolor=$color align='center'><font face=$font font size=$size>";
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out $oldrange>=0?"<a href=\"$_link&v=0&suche=$suche&@_sel&sort=$sort\">|<</a>":"|<";
out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
out $oldrange>=0?"<a href=\"$_link&v=$oldrange&suche=$suche&@_sel&sort=$sort\"><</a>":"<<";
out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
$ende=substr($_amount_query,0,length($_amount_query)-1);
out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange&suche=$suche&@_sel&sort=$sort\">></a>":">>";
out "</font></td><td font face=$font font size=$size bgcolor=$color align='center'><font face=$font font size=1>";
out $newrange<$_amount_query?"<a href=\"$_link&suche=$suche&v=".($ende."0")."&@_sel&sort=$sort\">>|
</a>":">|";
out "</font></td><td bgcolor=$color_vonbis width='185' align='center'><font face=$font font size=$size>Anzeige ".($v+1)." bis
".(($v+$blaettern)>$_amount_query?"$_amount_query":($v+$blaettern))." von
$_amount_query</td>";
if ($_amount)
{
$vr=int($v/$blaetter_lang) unless $_range==0;
$vr=$vr*$blaetter_lang;
out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=".($vr-$blaetter_lang)."&@_sel&sort=$sort>\"<<</a></font></td>" if
($vr-$blaetter_lang)>=0;
for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
{
out "<td bgcolor=$color_zahl align='center'><font face=$font font size=$size>".($v==$i?"<b>".($i+1)."</b>":"
<a
href='$_link&suche=$suche&v=$i&@_sel&sort=$sort'>
".($i+1)."</a>")."</font></td>";
}
out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=$i&@_sel&sort=$sort\">></a></font></td>" if $i<$_amount_query;
}
out "</font></tr></table></div>";
</perl>
Antworten
Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 10.Mai.2005, 13:19.
Re: Variable in Blätterscript einbauen
setz doch einfach &kid=$kid in die Blätterlinks ein.
Grüße
Oliver ;-)
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 13:34.
Re: Variable in Blätterscript einbauen
Antworten
Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 10.Mai.2005, 13:51.
Re: Variable in Blätterscript einbauen
wie werden denn die Fotos ausgegeben? Wo kommt denn da die Variable her?
Antworten
Beitrag von Thomas Hildmann (7 Beiträge) am Dienstag, 10.Mai.2005, 14:00.
Re: Variable in Blätterscript einbauen
Antworten
Beitrag von Thomas Hildmann (7 Beiträge) am Dienstag, 10.Mai.2005, 14:03.
Re: Variable in Blätterscript einbauen
Antworten
Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 10.Mai.2005, 14:25.
Re: Variable in Blätterscript einbauen
dann wird irgendwo auf der Seite die Variable verloren gehen...
Lass sie doch mal an verschiedenen Stellen ausgeben, um festzustellen, wo sie nicht mehr erscheint.
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 14:44.
Re: Variable in Blätterscript einbauen
Das Problem hat sich scheinbar von selbst gelöst.
Habe gerade mal weitergeblättert und dann über die Bilder gegangen, da ist die Variable immer ja noch. Obwohl sie im Blätter Script nach wie vor nicht erscheint.
Irgendwie eigenartig, gestern Abend ging das nicht.
Aber der Tip mit dem Ausgeben an verschiednen Stellen war trotzdem gut.
Gruß
Thomas
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 14:55.
Zu früh gefreut
Wäre ja auch zu schön gewesen.
Es ist nicht die gleiche Zufalls ID !
Beim Blättern wird die Seite neu geladen und damit eine neu kid erzeugt.
Das darf natürlich nicht sein.
Jetzt habe ich allerdings wirklich ein Problem.
Also ich habe jetzt im Script die kid an verschiedenen ausgeben lassen,
sie wird immer korrekt angezeigt.
Das muß irgendwie anders in die Links integriert werden.
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 15:01.
Re: Zu früh gefreut / Nachtrag
Oder es müßte ein Befehl eingebaut werden, so etwa wie:
Ist eine kid vorhanden, dann erzeuge keine Neue.
Das könnte ggf. funktionieren. Aber wie das geht weiß ich auch nicht.
Antworten
Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 10.Mai.2005, 15:10.
Re: Zu früh gefreut / Nachtrag
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 15:22.
Re: Zu früh gefreut / Nachtrag
Antworten
Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 10.Mai.2005, 15:27.
Re: Zu früh gefreut / Nachtrag
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 15:28.
Re: Zu früh gefreut / Nachtrag
Antworten
Beitrag von Thomas Hildmann (7 Beiträge) am Dienstag, 10.Mai.2005, 15:53.
Re: Zu früh gefreut / Nachtrag
Antworten
Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 10.Mai.2005, 15:57.
Re: Zu früh gefreut / Nachtrag
dann setz mal den gesamten code hier rein
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 16:06.
Re: Zu früh gefreut / Nachtrag
O.k. das ist der gesamte Code.
Habe in den Links die kid Variable in den verschiedensten Formen gesetzt.
<perl>
out "TEST Variable kid = $kid";
$kid=rand(999999).".".rand(999999) if $kid eq "";
get "KundenId==$kid", "bestellungen";
</perl>
<perl>
get "Id==* _fullsearch~=$suche fullsearch_match=500 range=$v,6 @_sel", "marysol";
</perl>
<loop _fullsearch~=$suche fullsearch_match=500 sort^=-Id code=perl db=marysol range^=$v,6>
out<<EOF;
<table border="0" width="434" cellpadding="0" style="border-collapse: collapse">
<tr>
<td width="9" bgcolor="#E3EAFB" align="left" valign="top" rowspan="4">
<img border="0" src="http://www.marysol-touristik.de/baseportal/images_layout/Pixel.gif" width="6" height="74"></td>
<td width="270" bgcolor="#E3EAFB" align="left" valign="bottom"><font size="2"><b>
$Art</b> / $Region / $Region2</font></td>
<td width="12" rowspan="4">
<img border="0" src="http://www.marysol-touristik.de/baseportal/images_layout/Pixel.gif" width="7" height="74"></td>
<td bgcolor="#E3EAFB" rowspan="4">
<a href="http://marysoltouristik-domizile.de/cgi-bin/baseportal.pl?kid=$kid&htx=/immoconzept24/immoconzept/test&db=marysol&Id=$_id">
<img src='http://www.marysoltouristik-domizile.de/files/$_raw{Bild01}' width='130' height='74'></a></td>
</tr>
<tr>
<td width="270" bgcolor="#E3EAFB" align="left"><font size="2">$Typ
in $Ort / $Pool</font></td>
</tr>
<tr>
<td width="270" bgcolor="#E3EAFB" align="left" valign="top"><font size="2">Bis
$P Personen</font></td>
</tr>
<tr>
<td width="270" bgcolor="#E3EAFB" align="left" valign="top">
<p align="right"><b><font size="2">Preis ab $Preis EUR</font></b></td>
</tr>
<tr>
<td width="9" background="http://www.marysol-touristik.de/baseportal/images_layout/point_line13.gif">
<img border="0" src="http://www.marysol-touristik.de/baseportal/images_layout/Pixel.gif" width="6" height="23"></td>
<td width="270" background="http://www.marysol-touristik.de/baseportal/images_layout/point_line13.gif">
<img border="0" src="http://www.marysol-touristik.de/baseportal/images_layout/Pixel.gif" width="291" height="23"></td>
<td width="12">
<img border="0" src="http://www.marysol-touristik.de/baseportal/images_layout/Pixel.gif" width="7" height="23"></td>
<td background="http://www.marysol-touristik.de/baseportal/images_layout/point_line13.gif">
<img border="0" src="http://www.marysol-touristik.de/baseportal/images_layout/Pixel.gif" width="130" height="23"></td>
</tr>
</table>
EOF
</loop>
<perl>
my $range=$_range_length;
my $blaettern=$_range_length;
my $blaetter_lang=$range*6;
my $newrange=$_range+$_range_length;
my $oldrange=$_range-$_range_length;
my $color='#CCCCCC';
my $color_vonbis='#FFFFFF';
my $color_zahl='#CCCCCC';
my $color_vorzu='#CCCCCC';
my $color_balken='#CCCCCC';
my $font='Arial, Verdana, Arial';
my $size='2';
my $table='';
my $table_align='left';
#$_amount = $amount_sav;
#$_amount_query = $amount_query_sav;
out "<div align=$table_align>";
out "<table width=$table cellpadding=4 height=25 cellspacing=4><tr align=left>
<td bgcolor=$color align='center'><font face=$font font size=$size>";
$oldrange=0 if $oldrange<0 && $oldrange>-$_range_length;
out $oldrange>=0?"<a href=\"$_link&v=0&suche=$suche&@_sel&sort=$sort\">|<</a>":"|<";
out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
out $oldrange>=0?"<a href=\"$_link&v=$oldrange&suche=$suche&@_sel&sort=$sort\"><</a>":"<<";
out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
$ende=substr($_amount_query,0,length($_amount_query)-1);
out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange&suche=$suche&@_sel&sort=$sort\">></a>":">>";
out "</font></td><td font face=$font font size=$size bgcolor=$color align='center'><font face=$font font size=1>";
out $newrange<$_amount_query?"<a href=\"$_link&suche=$suche&v=".($ende."0")."&@_sel&sort=$sort&kid=$kid\">>|
</a>":">|";
out "</font></td><td bgcolor=$color_vonbis width='185' align='center'><font face=$font font size=$size>Anzeige ".($v+1)." bis
".(($v+$blaettern)>$_amount_query?"$_amount_query":($v+$blaettern))." von
$_amount_query</td>";
if ($_amount)
{
$vr=int($v/$blaetter_lang) unless $_range==0;
$vr=$vr*$blaetter_lang;
out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=".($vr-$blaetter_lang)."&@_sel&sort=$sort&kid=$kid>\"<<</a></font></td>" if
($vr-$blaetter_lang)>=0;
for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
{
out "<td bgcolor=$color_zahl align='center'><font face=$font font size=$size>".($v==$i?"<b>".($i+1)."</b>":"
<a
href='$_link&suche=$suche&v=$i&@_sel&sort=$sort&kid=$kid'>
".($i+1)."</a>")."</font></td>";
}
out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=$i&@_sel&sort=$sort&$kid\">></a></font></td>" if $i<$_amount_query;
}
out "</font></tr></table></div>";
</perl>
Antworten
Beitrag von Oliver ;-) (439 Beiträge) am Dienstag, 10.Mai.2005, 16:15.
Re: Zu früh gefreut / Nachtrag
du hast auch nicht überall die Variable drin gehabt. das müsste es jetzt sein:
out $oldrange>=0?"<a href=\"$_link&v=0&suche=$suche&@_sel&sort=$sort&kid=$kid\">|<</a>":"|<";
out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
out $oldrange>=0?"<a href=\"$_link&v=$oldrange&suche=$suche&@_sel&sort=$sort&kid=$kid\"><</a>":"<<";
out "</font></td><td bgcolor=$color align='center'><font face=$font font size=$size>";
$ende=substr($_amount_query,0,length($_amount_query)-1);
out $newrange<$_amount_query?"<a href=\"$_link&v=$newrange&suche=$suche&@_sel&sort=$sort&kid=$kid\">></a>":">>";
out "</font></td><td font face=$font font size=$size bgcolor=$color align='center'><font face=$font font size=1>";
out $newrange<$_amount_query?"<a href=\"$_link&suche=$suche&v=".($ende."0")."&@_sel&sort=$sort&kid=$kid\">>|
</a>":">|";
out "</font></td><td bgcolor=$color_vonbis width='185' align='center'><font face=$font font size=$size>Anzeige ".($v+1)." bis
".(($v+$blaettern)>$_amount_query?"$_amount_query":($v+$blaettern))." von
$_amount_query</td>";
if ($_amount)
{
$vr=int($v/$blaetter_lang) unless $_range==0;
$vr=$vr*$blaetter_lang;
out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=".($vr-$blaetter_lang)."&@_sel&sort=$sort&kid=$kid>\"<<</a></font></td>" if
($vr-$blaetter_lang)>=0;
for ($i=$vr;$i<($vr+$blaetter_lang<=$_amount_query?($vr+$blaetter_lang):$_amount_query); $i+=$blaettern)
{
out "<td bgcolor=$color_zahl align='center'><font face=$font font size=$size>".($v==$i?"<b>".($i+1)."</b>":"
<a href='$_link&suche=$suche&v=$i&@_sel&sort=$sort&kid=$kid'>
".($i+1)."</a>")."</font></td>";
}
out "<td bgcolor=$color_vorzu align='center'><font face=$font font size=$size><a href=\"$_link&suche=$suche&v=$i&@_sel&sort=$sort&kid=$kid\">></a></font></td>" if $i<$_amount_query;
}
out "</font></tr></table></div>";
Antworten
Beitrag von Thomas H. (180 Beiträge) am Dienstag, 10.Mai.2005, 16:24.
Jetzt funzt´s :-)))
Tatsächlich.
Ich hatte zum Test nur ein paar Links geändert, da ich dachte, wenn einer nicht geht, dann brauche ich die anderen gar nicht erst zu probieren.
Das war der eigentliche Fehler. Man lernt auch nie aus.
Danke Dir wirklich für die ( fast 2 Stunden )Geduld.
Gruß aus Obernburg
Antworten
Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 10.Mai.2005, 16:31.
Re: Jetzt funzt´s :-)))
Antworten