PHP Switcher

Du hast in der "online Version" jetzt aber localhost mit deiner Domain getauscht?
Denn localhost hatte ich nur genannt um sicherzugehen dass das Problem da schonmal nicht besteht wenn Du offline testest.
 
Hallo,

Du hast in der "online Version" jetzt aber localhost mit deiner Domain getauscht?

Ja in der online Version habe ich die URL´s angepast, weil es dpch sonst nicht gehen müsste online.

offline habe ich localhost genommen, wie in meinen Tread beschrieben, ich hoffe soweit war das richtig von mir.
 
Ich habs....

zum Cookie setzen muss n-k-s.de (ohne http://) rein, und für den Haeder http://n-k-s.de/test1.php.

Die Domain ist von der eingegebenen URL abhängig, wenn ich die Seite also mit meiner DynDNS Domain aufrufe, MUSS diese auch im Script stehn, sonst geht es nicht.

Und wenn Die Domain im Script steht und ich die Seite über meine IP aufrufe, geht es auch nicht, dann müsste die IP im Script stehen.... ich hoffe Du verstehst?! ;)

[edit] ich teste mal weiter [/edit]
 
So scheint es auch unabhängig von der eingegeben URL zu fonktionieren:
switcher.php
PHP:
<?php
$accept = array('normal','different');
if(isset($_REQUEST['set']))
{
$style = trim(strip_tags($_REQUEST['set']));
}
else if(isset($_POST['set']))
{
$style = trim(strip_tags($_POST['set']));
}
if(in_array($style, $accept))
{
setcookie('sitestyle', $style, time()+31536000, '/', $_SERVER["SERVER_NAME"], '0');
}
if(isset($_SERVER['HTTP_REFERER']))
{
header("Location: ". $_SERVER['HTTP_REFERER']);	exit;
}
else
{
header("Location: http://".$_SERVER["SERVER_NAME"].$_SERVER["SCRIPT_NAME"]);
exit;
}
?>
Die test1.php habe ich unverändert gelassen.

[edit] Ups, hatte noch eine "Müllzeile" drinn gelassen (funktioniert trotzdem).... ist jetzt editiert. Eigentlich geht auch $_SERVER["HTTP_HOST"] anstatt $_SERVER["SERVER_NAME"], kommt bei mir aber aufs gleiche hinaus... evtl. kann ja mal jemand den Unterschied erläutern?! [/edit]
 
Zuletzt bearbeitet:
Hallo Dr. Dau,

du bist echt genial, man. Vielen Dank. :-)

Ich werde auch mal weiter testen und schauen ob es meinen Erwartungen gerecht wird.

Puh, da freu ich mich aber echt, das dieses Switcher Ding doch nicht allzu Nerven rauben geworden ist, zumindest siehst es mal so aus.

Ich hatte mir noch vorgenommen ausser das Style zu ändern, auch noch die Schriftgrößen zu ändern. Das ganze habe ich bei jemanden gesehen unter: http://olaf-bosch.de/de/seiten/kein_cookie.html, er nimmt für die Schriftgrößenänderung nur ein bzw. drei verschiedene CSS Dateien mit Attributen für die Schrift.

Wenn jemand dort z.B. das Design 3 auswählt, und die Schriftgröße 2 dann muss es ja irgendwie harmonisieren. Wie die Technik allerdings funktioniert kann ich mir nicht so recht vorstellen.

ich nehme aber an das dazu noch ein wenig mehr PHP Code nötig sein wird?

gruß
feh

Code wechselt, nicht aber die komplette CSS Datei mit allen Formatierungen.

Das scheint eigentlich eine gute Technik zu sein, aber ich weis nicht, ob es so einfach zu realisieren ist.

Wenn nicht muss ich halt komplette für jedes eine komplette CSS Datei schreiben.
 
Du hast gesehen dass ich mein Posting nochmal editiert haben?

Es sieht ganz so aus als wenn der Typ verschiedene Styles per echo() einbindet, im header steht immer nur die CSS die ausgewählt wurde.
So war mein Vorschlag ganz zu anfang auch.
Bei dir stehen ja alle CSS im header (rel="stylesheet" und rel="alternate stylesheet").
 
Hallo,

ich habe deinen neuen Post gesehen, den hast du ja toll geändert, richtig profesionell, wie lange machts du den schon PHP?

Es funktioniert aber nur über den Server, komisch oder?

Aber hauptsache es funktioniert erst mal!

Wegen den weiteren mehreren (rel="stylesheet" und rel="alternate stylesheet"). die habe ich nur so aus dem Beispiel von http://www.contrastsweb.com/switcher/v1/source.php rausgenommen. Ich selber hätte und werde auch zukünftig nur eine Stylesheets für screnn/projektion angeben.

Aber wegen den Schriftgrößen habe ich noch etwas Unverständnis, wenn ich zum Beispiel drei Design anbiete. Und jemand das zweite ausgewählt hat und dann die Schriftgröße ändern will, dann müsst ich ja für das Design zwei eine extra Datei haben, wo die Schriftgrößen alle größer sind. Und das gleiche müsste ich dann halt für jede der drei Designs machen. Also drei mal drei CSS Dateien nur für die Schriftgröße. Das wäre eigentlich nicht so tragisch, ich frage mich nur wie ich es hinbekommen solte, das ganze zuzuornen, wenn du verstehst weis ich meine.

Da es sich bei meinem Besipiel nämlich um drei verschiedene Layouts handelt, besteht hier ein weitere Überlegungsaufgabe.

Auf der Beispielseite die ich angegeben habe, sieht es im Quelltext so aus als ob dort zwei unterschiedliche Daetien angesprochen werden um die Änderungen durchzuführen:

PHP:
 <ul id="font">
	  <li>Schrift:</li>
	  <li><a href="../../font.xhtml?set=font1" class="normal" title="Schriftgröße: normal">A</a> </li>
	  <li><a href="../../font.xhtml?set=font2" class="mittel" title="Schriftgröße: groß">A</a></li>
	  <li><a href="../../font.xhtml?set=font3" class="gross" title="Schriftgröße: sehr groß">A</a></li>
	</ul>
	<ul id="switch" class="clearfix">
	  <li><a href="../../switcher.xhtml?set=abend" class="abend">abend</a></li>
	  <li><a href="../../switcher.xhtml?set=morgen" class="morgen">morgen</a></li>
	  <li><a href="../../switcher.xhtml?set=blank">ohne</a></li>
	  <li><a href="../../switcher.xhtml?set=standard" class="standard">standard</a></li>
	</ul>


einmal eine font.xhtml und eine switcher.xhtml Datei, in welchen sich wohl das ganze abspielt. An den Links kann ich erkennen das diese Dateien aufjedenfall per PHP Code angesprochenen werden. Ich würde gerne mal wissen wie man das realisieren kann.

Und ansonsten muss ich mir mal in aller Ruhe deine derzeitige Lösung und den PHP Code überhaupt mal genauer ansehen un studieren.

gruß
feh
 
In PHP "mache" ich solange, wie ich hier im Forum bin.
Aber eigentlich schnappe ich nur irgendwo Codeschnippsel auf und guck ob ich daraus irgendwas machen kann, wie z.b. mein Mini-CMS um ein paar Zeile Text zu bearbeiten, Dateien uploaden und löschen.
An grosse Projekte würde ich mich garnicht ran machen, dafür gibt es genug fertige Scripte.

Dein Script funktioniert nicht nur auf dem Server, gebe einfach mal z.b. http://127.0.0.1 anstatt http://localhost ein. ;)

Ich könnte wetten dass die *.xhtml genauso wie die *.html ganz normale *.php sind, nur halt mit einer anderen Dateiendung.
Man kann Apache nämlich "beibringen" nicht bloss *.php zu parsen, sondern auch andere Dateiendungen.
Dazu müssen lediglich ein paar Einträge in der httpd.conf vorgenommen werden.
Die Einträge habe ich jetzt aber nicht im Kopf.
Er hat also eine ganz normale PHP Seite, in der per Auswahl die jeweiligen CSS per echo() eingebunden werden.
Eine CSS ist allein für die Schrift, die andere für das übrige Layout.
Stell dir also einfach vor, die font.xhtml würde font.php heissen und die switcher.xhtml würde switcher.php heissen.

[edit] Der Eintrag in der httpd.conf könnte z.b. AddType application/x-httpd-php .html .xhtml heissen, dann wird PHP-Code in ganz "normalen" *.html bzw. *.xhtml Dateien geparst als wenn es *.php währen. :-) [/edit]
[edit2] .exe noch schnell in die httpd.conf eingetragen, deine test1.php in test1.exe umbenannt und siehe da, der PHP-Code wird geparst. :-) ;-] :p [/edit2]

[edit3] $_SERVER["SERVER_NAME"] ist richtig so.
php.net hat gesagt.:
'SERVER_NAME'
Der Name des Server Hosts unter dem das aktuelle Skript ausgeführt wird. Falls das Skript unter einem virtuellen Host läuft, wird der Name, der für diesen virtuellen Host vergeben wurde, angezeigt.
[/edit3]
 
Zuletzt bearbeitet:
Hallo,
danke danke, das ist erst mal genug Material zum lernen.

P.S. nicht schlecht was du alles schon gelernt hast obwohl du erst seit Februar dabei bist, aber mach ruhig weiter so. ;)

gruß
feh
 
Zurück