Archiv verlassen und diese Seite im Standarddesign anzeigen : Auflösung erkennen (string->integer)
Hallöchen,
ich habe da ein kleines Problem.
Ich möchte die Auflösung des Benutzers auslesen und aus dem Wert per
PHP mit ein paar Rechnungen werte bestimmen.
Nun kann ja PHP selber nicht erkennen was der User für ne Auflösung
hat, also habe ich folgendes getan:
$size = '<java script>document.write(browser.size)</script>';
Am Ende habe ich auch den Wert der Auflösung (1024) in der Variable
drin, nur eben als string und damit kann ich ja nix rechnen.
Wie kann ich den Wert nun als integer da rein bekommen ?!
Danke Manuel
mrhappiness 13-06-2003, 09:22 in $size steht 1024 drin?
oder vielleicht doch nur der text, den du oben reingeschrieben hast?
du musst, in so fällen die auflösung mit js bestimmen und dann die seite erneut aufrufen mit den bestimmten parametern
RobertTheHero 13-06-2003, 09:27 Äh bist du sicher das du in PHP die Auflösung in der Variable $size hast ?
Ich denke nicht, weil der ablauf der beiden Sprachen dies so nicht möglich macht.
Der User ruft eine Seite auf.
Dann wird alles php in der Seite auf deinem server verarbeitet, und die seite an den user geschickt. Erst dann wird beim User javascript ausgeführt und da hast du nicht die möglichkeit, mittels javascript ermittelte werte, direkt wieder in php zu verwenden. Da die seite beim user liegt.
Also was du in $size stehen hast..... verdammt da war jemand schneller.
:respekt:
mfg
rth
Hi,
nene in $size steht 1024 drin aber als string, nicht als integer.
Die 1024 wird also nich als Zahl sonder als Text gehandhabt und ich kann
damit keine Berechnungen oder so machen...
RobertTheHero 13-06-2003, 09:48 sag mal redest du von PHP oder javascript ?
also mit
$size = '<java script>document.write(browser.size)</script>';
steht nie nie niemails 1024 in $size !!!
sondern einfach nur
<java script>document.write(browser.size)</script>
davon abgesehen, wenn in $size in PHP 1024 als string drin stehen sollte (was so nicht sein kann ), dann könntest du mit $size auch rechnen da php variablentypen 'on the fly' ändert, je nach context.
sprich
$size="10"; // string
echo "<br> type ".gettype($size);
$size.="24"; // immer noch string wo jeztt 1024 steht
echo "<br> type ".gettype($size);
$size=$size+1; // nun int wo 1025 steht
echo "<br>size: ".$size;
echo "<br> type ".gettype($size);
Also denke ich mal das du von javascript redest, aber da haben die variablen kein $. Also da passt was ganz gewaltig nicht...
nichts für ungut
rth
;) ist aber so und in PHP.
Hier die Ausgabe:
1280
string
und hier der Code:
<?php
$size = '<script language="JavaScript">document.write(screen.width)</script>';
echo $size.'<br>';
echo gettype($size);
eval ("dooutput(\"".gettemplate($template_dir."body_index")."\");");
?>
RobertTheHero 13-06-2003, 10:12 Ich glaubs nicht .
Kann mir bitte jemand erklären warum das klappt ????????
Ich fall vom glauben ab, ganz ehrlich.
Aber dann versteh ich dein Problem nicht, wie gesagt klar kanns du damit rechnen in php.
gruss rth
p.m. Und nochmal :confused: :confused: :confused: :confused: warum klappt das ????
RobertTheHero 13-06-2003, 10:16 ach verdammt ich trottel,
das klappt natürlich nicht !!!!
$size = '<script language="JavaScript">document.write(screen.width)</script>';
var_dump(htmlspecialchars($size));
echo $size.'<br>';
echo gettype($size);
var_dump(htmlspecialchars($size));
Oh mann jetzt hättest du mich fast erwischt
;)
Der gibt natülich den String an den Browser aus, und der interpretiert das javascript und gibt die screensize zurück.
gruss
rth
Ach nee, weisste was mit da einfällt.
Der schickt natürlich die Variable $size mit dem Inhalt an den Client,
Der Client zeigt die Variable an, in der Variable steht das Java und der
Client führt das Java aus. Also steht am Ende nicht die Zahl sondern doch nur das Script in der Varibale... (Gehirnsturtz :)
Naja, aber hat jemand nen Tip wie ich das sonst lösen könnte ?
Evtl mit ner vorher abgerufenen Seite, aber ich brauch den Wert der Auflösung in ner PHP Variable. Kann ich denn die Java Varibale in ne PHP Variable übergeben oder so was ?
Original geschrieben von ManuelW
Naja, aber hat jemand nen Tip wie ich das sonst lösen könnte ?
Evtl mit ner vorher abgerufenen Seite, aber ich brauch den Wert der Auflösung in ner PHP Variable. Kann ich denn die Java Varibale in ne PHP Variable übergeben oder so was ? der tipp wie's geht steckte doch schon in der ersten antwort...
auf einer vorgeschalteten seite mit javascript auflösung ermitteln.
und jetzt, ebenfalls mit javascript (stichwort: location.href) das php-script 'aufrufen', und zwar mit script.php?size=[mit javascript ermittelter wert]
wie letzteres geht, weisst du hoffentlich selber.
wenn nicht, dann schaue dich ein bisschen bei selfhtml um, dort findest du alles nötige wie z.b. string-operationen etc.
und bitte schreibe nicht java, wenn du javascript meinst. das sind zwei absolut verschiedene dinge.
|
-
- |