Rechnen mit PHP

werde ich wohl auch machen müssen, aber von JavaScript hab eigentlich keine Ahnung. Da werde ich erst mal guggen, wie ich die Formel von oben in JavaScript rüberschreibe. Aber jetzt hab ich erstmal Schule...
 
Schule vorbei und seit 1 1/2 Stunden keine Ahnung wie ich das machen soll. Einfach rechnen bekomm ich ja noch hin, aber das mit dem euklidischen Algorithmus bekomm ich nicht gebacken. Möchte deswegen nicht nen Thread im JavaScript aufmachen. Könnte das jemand hier machen, bitte?

mfg
Klink
 
Sehr quick & dirty, aber das Prinzip sollte klar sein...

PHP:
<?php
function ggT($x, $y)
{
	do {
		$rest = $x % $y;
		$x = $y;
		$y = $rest;
	} while ($rest != 0);

	return $x;
}

if (isset($_GET['w']) && isset($_GET['h'])) {
    $w=$_GET['w'];
    $h=$_GET['h'];
    printf("document.write('W: %d - H: %d<br />');", $w, $h);
    
    $ggt = ggT($w, $h);
    $w /= $ggt;
    $h /= $ggt;

    printf("document.write('= %d:%d');", $w, $h);
} else {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="de" xml:lang="de">
<head>
<title>Aufloesung</title>
</head>

<body>
<script type="text/javascript">
w = screen.width;
h = screen.height;
document.write("<script language=\"JavaScript\" type=\"text\\/javascript\\" src=\\"<?=$PHP_SELF?>?w="+w+"&h="+h+"\"><\\/script>");
</script>
</body>
</html>
<? } ?>
Das JavaScript ab Zeile 33 besorgt sich die Breite und Höhe des Bildschirms. Per document.write schreibt es dann einen weiteren Aufruf eines JavaScripts in den HTML-Code, bei der als Quelle eine PHP-Datei angegeben wird, der man die Pixeldimensionen per GET übergibt. (Passiert alles auf dem Client!) Die aufgerufene PHP-Datei (in dem einfachen Beispiel hier ist es die selbe wie die, in der der HTML-Code steht) kann dann die übergebenen Werte weiterverarbeiten. Insbesondere kann man sie auch auf dem Client wieder anzeigen lassen, indem man die entsprecheneden JavaScript-Befehle ausgibt (wir binden die PHP-Datei ja als Quelle eines JavaScripts ein).

Somit sollten dann wohl alle Klarheiten beseitigt sein ;)
 
Zuletzt bearbeitet:
Danke für die Mühe, aber es funktioniert nicht. Ich kenne mich mit JavaScript nicht aus, aber kann es sein, das zwei ineinander gesteckte Scripts nicht laufen? Wenn ich jetzt
PHP:
<script type="text/javascript"> 
<script type="text/javascript">
document.write("test");
</script>
</script>
das in meinen Browser einhacke, dann kommt nichts raus. Bei der Quelltextbetrachtung vom IE ist alles wie oben gezeigt, beim FireFox sieht das dann so aus:
PHP:
<script type="text/javascript"> 
<script type="text/javascript">
document.write("test");
</script>
Da sieht man, das das zweite <script type="text/javascript"> übergangen, bzw. nicht als JS Anweisung behandelt wird. Von mir aus kann man das Ganze jetzt ins JavaScipt Forum verschieben, hauptsache, ich bekomme ein funktionierende Lösung zustande!
 
HALT Komando zurück. Ich habs jetzt so gelößt: in der Zeile:
document.write("<script language=\"JavaScript\" type=\"text/javascript\" src=\"test.php?w="+w+"&h="+h+"\"></script>"); beim </script> ein Leerzeichen zw. / und s!
Das ganze in eine eigene Datei, das $PHP_SELF durch den Dateinamen ersetzt (bei mir geht alles über index1.php?sec=bla, da kommt wohl PHP durcheinander) und diese dann included, Fertig
 
Zurück