URL ohne JAVA-Script auslesen für Shopping-System
Christian Schnagl
- cgi
Hallo Forum,
ich bin im Aufbau für ein Shopping-System, daß in Deutschland, Österreich und Schweiz eingesetzt wird. Via DBI-Mysql werden die Produkte und Preise präsentiert. Es gibt 3 Domains, die alle auf die selbe IP verweisen (z.B. name.de, name.at, name.ch)
Ich möchte mit (einem) CGI nun landesabhängig die Preise anzeigen. Dazu müßte ich wissen, welche URL für den Einstieg verwendet wurde. Die Lösung möchte ich ohne JAVASCRIPT machen, da es mit jedem Browser / jeder Browsereinstellung funktionieren soll.
Die ENV-Variablen haben mir hier nicht weitergeholfen, da bei $ENV{'HTTP_HOST'} oder bei div. PATH-Angaben immer nur die DE-Adresse wiedergegeben wird, auch wenn in der URL was anderes eingegeben wurde.
DANKE FÜR DIE HILFE IM VORRAUS
Christian
schnagl@gmx.de
Hallo Christian,
Die ENV-Variablen haben mir hier nicht weitergeholfen, da bei $ENV{'HTTP_HOST'} oder bei div. PATH-Angaben immer nur die DE-Adresse wiedergegeben wird, auch wenn in der URL was anderes eingegeben wurde.
Und $ENV{'HTTP_REFERER'} ?
Es gibt da zwar Probleme, weil nicht alle Browser das im HTTP-Header uebermitteln, aber ein Versuch waere es doch mal wert.
Ansonsten bleibt wohl nur, die Aufrufe durch hidden-Felder in der aufrufenden HTML-Datei zu ermitteln.
Wenn z.B. in einem Formular, das das Script als action aufruft, unter anderem steht:
<input type="hidden" name="Herkunft" value="de">
Dann kann das Script dies genauso ermitteln wie Eingaben in Feldern des gleichen Formulars.
viele Gruesse
Stefan Muenz
Hallo Stefan!
Danke für die Antwort, aber:
» Und $ENV{'HTTP_REFERER'} ?
Geht nicht, wenn die entsprechende Seite gebookmarkt oder von Dritten "verlinkt" wird (z.B. auf http://www.firma.de/products/show.cgi?p1 ). Außerdem wird auf die landesspezifischen Seiten von mehreren Stellen "gelinkt", was in einem sehr großem IF-Block enden würde...
» Ansonsten bleibt wohl nur, die Aufrufe durch hidden-Felder in der aufrufenden HTML-Datei zu ermitteln.
Dazu brauche ich wieder JAVA-Script um die URL auszulesen. Mit Hiddenfeldern funktioniert es nur, wenn ich 3 x die gleiche index.html (und andere...) habe, die sich nur um dieses Hiddenfeld unterscheidet. Da aber auch nocht in anderen CGI‚s landesspezifische Elemente auftreten, müßte ich alles 3 mal programmieren. Von der umständlichen Wartung und statistischen Auswertung ganz zu schweigen....
Bye
Christian
Hallo Christian
Also ich nehme fuer diesen Zweck die Variable SERVER_NAME. Ich habe diesbezueglich nur Erfahrung mit dem IIS4. Jedenfalls steht dort genau das drin, was in der URL-Zeile des Browsers steht. Wenn also http://www.teamone.de/selfhtml/ in der Location bar steht, dann enthaelt diese Variable "www.teamone.de". Doch Vorsicht! Wenn dieselbe Location mit http://212.20.135.43/selfhtml/ aufgerufen wird, dann steht diese IP-Adresse in der Variable. Diesen Fall solltest Du also abfangen. (Da all Deine Domaenen auf dieselbe IP-Adresse verweisen, kannst Du daraus leider keine Rueckschluesse ziehen).
Calocybe