Gunnar Bittersmann: iFrame

Beitrag lesen

@@L(in)uchs:

nuqneH

Ja klar, wenn das Menü eine php Seite ist, kannst du beim Aufruf Parameter - etwa die Farbe - übergeben in der Form

<iframe src="http://example.com/menu.php?farbe=rot" ...

Das ist völlig sinnfrei. Wenn sowieso PHP verwendet wird, kann man damit gleich das Menü in die Seiten einbinden. Ohne eine solche Krücke.

Aber zu deiner „Lösung“ gibt es dennoch einiges anzumerken, was so falsch nicht stehenlassen kann:

body {color:<? if ( $_GET['farbe']=="rot" ) echo "#f00"; ?>}

Und wenn die Bedingung nicht erfüllt ist, steht mit body {color:} ungültiger CSS-Code im Dokument.

(Habe nicht gestestet, ob Zeichen wie # als Parameter gültig sind.

leitet in einem URI den Fragment-Identifier ein; in einem Parameter darf # nicht vorkommen. Wenn ein Wert ein # enthält, muss dieses Zeichen (Unicode-Codepoint U+0023) prozent-escapet werden: %23.

body {color:<? echo $_GET['farbe']; ?>}

Kapitaler Anfängerfehler! Du darfst NIEMALS Nutzereingaben unbearbeitet in HTML-Code schreiben. Sicherheitslücke!

$_GET-Werte musst du vor der Ausgabe mit echo zumindest mit [link:http://de2.php.net/manual/de/function.htmlspecialchars.php@title=htmlspecialchars()] behandeln.

Qapla'

--
Wer möchte nicht lieber durch Glück dümmer als durch Schaden klüger werden? (Salvador Dalí)