PHP StyleSwitcher

hallo zusammen.

ich habe versucht ein styleswitcher mittels php zu realisieren.
Jedoch im Mom. noch ohne erfolg. Der Compiler meldet keinen Fehler, gibt auch den richtigen Output, aber passieren tut sich nichts…

ich hab eine datei styleswitcher.php

<?php echo "<form name='styleForm' method='post'>";
echo "";
$arrayStyle[0] = "#99FF00";
$arrayStyle[1] = "#919191";
$arrayStyle[2] = "#6B6B6B";
$arrayStyle[3] = "#BABABA";
$arrayStyle[4] = "#FFBB00";
$arrayStyle[5] = "#B38300";
$arrayStyle[6] = "#D99F00";
$arrayStyle[7] = "#6BB300";
$arrayStyle[8] = "#889FCC";
$arrayStyle[9] = "#B30000";
for ($i=0;$i$arrayStyle[$i]";
echo "";
echo "";
echo "";
?\>

Wenn nun ein „Style“ ausgewählt wurde, soll das dazugehörige Stylesheet geladen werden.
Dies mach ich über diese Zeilen:

<?php $postStyle = $_POST["chooseStyle"];<br /> $refresh=false;
 if(isset($postStyle)) {
 $style="css/style$postStyle.css";

 setcookie('style', $style, time()+365\*24\*3600, "/");
 $refresh=true;
 }

if($refresh) {
 echo '<meta http-equiv="refresh" content="0; URL='.$_SERVER['PHP_SELF'].'">';
 }
 if(isset($\_COOKIE['style'])) {
 echo '';
 }
 else {
 echo '';
 }
?\>

Es wird das richtige Stylesheet ausgewählt, aber die Seite wird irgendwie nicht aktualisiert, als ob noch das letzte (standardmässig) geladen wird… :smile:

Bitte um Hilfe.

Grüße,
Sebastian

Hallo
Fehlt da was oder hast du nicht alle kopiert?

echo "

action=…>";

Wenn nun ein „Style“ ausgewählt wurde, soll das dazugehörige
Stylesheet geladen werden.
Dies mach ich über diese Zeilen:

<?php : $postStyle = $_POST["chooseStyle"];
$refresh=false; if(isset($postStyle)) { $style="css/style$postStyle.css"; setcookie('style', $style, time()+365\*24\*3600, "/"); $refresh=true; } if($refresh) { echo ''; } if(isset($\_COOKIE['style'])) { echo ''; } else { echo ''; } ?\>

warum machst du einen reload und schreibst nicht einfach

<?php if(isset($_POST["chooseStyle"])) {<br /> $style="css/style".$\_POST["chooseStyle"].".css";

 setcookie('style', $style, time()+365\*24\*3600, "/");
 } elseif(isset($\_COOKIE['style'])) {
 $style=$\_COOKIE['style'];
 } else { $style="css/style.css";}

 echo '<link rel="stylesheet" type="text/css" href="'.%24style.'">';
 }
?\>

Hallo.

Fehlt da was oder hast du nicht alle kopiert?

echo "

action=…>";

die styleswitcher.php wird eingebunden, und wird direkt auf der aktuelle Seite ausgeführt, dann brauch ich doch kein action zu setzen, oder etwa doch, ich habs nämlich immer nur verwendet, wenn ich andere dateien ansprechen möchte!

warum machst du einen reload und schreibst nicht einfach

<?php : if(isset($_POST["chooseStyle"])) {
$style="css/style".$\_POST["chooseStyle"].".css"; setcookie('style', $style, time()+365\*24\*3600, "/"); } elseif(isset($\_COOKIE['style'])) { $style=$\_COOKIE['style']; } else { $style="css/style.css";} echo 'href="'.$style.'"\>'; } ?\>

hab jetzt deine zeilen eingefügt und es funktioniert immer noch nicht, es steht zwar das richtige Stylesheet im html-code.

Hast du noch tipps??
Die CSS-Dateien sind im Verzeichnis vorhanden.

Grüße,
Sebastian

$postStyle = $_POST[„chooseStyle“];
$style=„css/style$postStyle.css“;

echo „“;
$arrayStyle[0] = „#99FF00“;

$arrayStyle[8] = „#889FCC“;
$arrayStyle[9] = „#B30000“;
for ($i=0;$i$arrayStyle[$i]";

$style=„css/style“.$_POST[„chooseStyle“].".css";

hab jetzt deine zeilen eingefügt und es funktioniert immer
noch nicht, es steht zwar das richtige Stylesheet im
html-code.

Hast du noch tipps??
Die CSS-Dateien sind im Verzeichnis
vorhanden.

du meinst es gibt eine css/style#99FF00.css? und die hast du mal versucht im browser zu laden? wie wuerdest du den link http://example.com/foo.html#unten interpretieren?

du meinst es gibt eine css/style#99FF00.css?

Ja es gibt eine css/style#99FF00.css !!

und die hast du mal versucht im browser zu laden?

Ich hab sie geöffnet (über Browser) und das witzige ist dabei, dass da immer noch die alten Farbcodes drinnen stehen, nicht die aktuellen. Weiters finde ich sehr verwunderlich, das, wenn ich die CSS-Dateien runterlade, die Farbcodes stimmen, wenn ich es über den Browser anschaue, aber immer noch die alten Farbcodes drinnen sind… :smile:

Kann da einer folgen, denn ich bin echt planlos… Habe alle Temp-daten der Browser (FF + IE) gelöscht… Aber passiert immer noch nichts… :frowning:

wie wuerdest du den :link http://example.com/foo.html#unten interpretieren?

Ist ein Anker??

Grüsse,
Sebastian

du meinst es gibt eine css/style#99FF00.css?

Ja es gibt eine css/style#99FF00.css !!

und die hast du mal versucht im browser zu laden?

Ich hab sie geöffnet (über Browser) und das witzige ist dabei,
dass da immer noch die alten Farbcodes drinnen stehen, nicht
die aktuellen.

wie wuerdest du den :link http://example.com/foo.html#unten interpretieren?

Ist ein Anker??

alles nach der raute interessiert den server herzlich wenig, er wird css/style versuchen auszuliefern im besten fall bekommst du davon nix mit, weil entweder der browser das escaped, oder am server ein satisfy_all machinismus greift.

benenne die dateien um.

alles nach der raute interessiert den server herzlich wenig,
er wird css/style versuchen auszuliefern im besten fall
bekommst du davon nix mit, weil entweder der browser das
escaped, oder am server ein satisfy_all machinismus greift.

benenne die dateien um.

so jetzt funktionierts… LÖSUNG: KEINE RAUTE (#) VERWENDEN!!

Danke dir.

Grüße,
Sebastian