Oder per Web-Bug/IMG-Tag:
Wie übergebe ich PHP eine Bildschirmauflösung?
Nützlich ist diese Art der Variablenübergabe zum Beispiel bei Statistik-Scripten,
die auch Javascript-Variablen verwenden sollen, welche in PHP nicht verfügbar sind.
Beispielsweise wären Bildschirmauflösung und Farbtiefe solche Variablen.
Die Übergabelösung besteht darin, die JS-Variablen mittels einem
...-Tag zu übergeben, welches nicht direkt mit PHP, sondern mit Javascript in das
HTML-Dokument geschrieben wird:
1:
2:
3:
4:
5:
6: |
<script language="JavaScript">
var ref=documentReferer;
var depth=window.screen.colorDepth;
var res=window.screen.width+"x"+window.screen.height;
|
Hier wurden erst die JS-Variablen depth und res erstellt, die nun mittels
einem <img>-Tag an ein PHP-Script "statistik.php" übergeben werden sollen:
1:
2:
3:
4: |
document.write("<img src='statistik.php?depth="+depth+"&res="+res+"&ref="+ref+"' border='0' width='1' height='1'>");
</script>
|
Als Bild wird also nicht ein echtes Bild angegeben, sondern das PHP-Script,
die Variablen werden in der bekannten Weise statistik.php?var1=...&var2=...&var3=...
an die URL angehängt. Durch width/height=1 wird das nichtvorhandene Bild unsichtbar.
Für den Fall, dass den Benutzer Javascript deaktiviert hat, sollte noch ein
-Bereich mit einem "normalen" Link per HTML definiert werden, der Nachteil ist natürlich, dass ohne Javascript auch die entsprechenden Variablen nicht
genutzt werden können:
1:
2:
3: |
<noscript><img src="cystats.php?ref=<? echo $HTTP_SERVER_VARS['HTTP_REFERER'];?>" border="0" width="1" height="1"></noscript>
|
Fertig.
Innerhalb des Scriptes statistik.php können nun die Variablen res, depth und ref über
das Array $HTTP_GET_VARS weiterverwendet werden:
1:
2:
3:
4:
5: |
$depth=$HTTP_GET_VARS['depth'];
$res=$HTTP_GET_VARS['res'];
$ref=$HTTP_GET_VARS['ref'];
|
- Auszug aus / Tutorial -
MfG
Cy