Archief - PHP: Kleur verandering van de website

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Sprits

Legacy Member
ik heb het mogelijk gemaakt om oftewel de dark, of de light version te pakke van mijn website.

nu, ik heb dus 2 verschillende css stylessheets (dark.css en light.css). er zijn ook een aantal images die van kleur moete verandere. (ni al te veel :))

kan omslachtig zijn maar zo heb ik het op de moment.

vanbove op de website heb ik 2 links

PHP:
<?php
$self = $_SERVER['REQUEST_URI'];

	$c = $_GET['c'];

if (strlen($c)==0) {
	if($_COOKIE['color']) {
		$c = $_COOKIE['color']; 
	}
	else {
		setcookie("color", "dark", time()+31536000);
		$c = "dark";
	}
}
else {
	setcookie("color", "$c", time()+31536000);
}
?>

// html en al de rest!

<?php echo $self . "&c=light"; ?>
<?php echo $self . "&c=dark"; ?>

cookies werken en als er op de links geklikt wordt, verandere de kleure.

index.php?p=list
index.php?p=home
zijn de gewone links!

dus als iemand nu op de home pagina zit en op een kleur klikt om te verandere krijg ik dus index.php?p=home&c=kleur. da werkt perfect...
de links van de images verandere dan aan de hand van $c
PHP:
style="background:url(images/<?php echo $c; ?>_05.gif); width:403px; height:121px"

ma blijkbaar zijn er toch nog probleme
als ik op index.php?p=list klik en dan op een kleur krijg ik het volgende
index.php&c=light (geeft natuurlijk een error weer)

is er mss een handigere manier om dit te doen of bvb met javascript?

ik kan de website zelf nog ni late zien... top secret :D anders had het makkelijker geweest om aan te tonen!

Fr3aK

Legacy Member
1) Als ge nu eens geen inline styles gebruikt en die allemaal in uwe stylesheet zet? Dan moet ge al niet met die cookie/variabele werken...

2) Waarom haalt ge ni gewoon die waarde uit uw cookie ipv die waarde telkens met uw URL mee te sturen?

Sprits

Legacy Member
Fr3aK zei:
1) Als ge nu eens geen inline styles gebruikt en die allemaal in uwe stylesheet zet? Dan moet ge al niet met die cookie/variabele werken...

2) Waarom haalt ge ni gewoon die waarde uit uw cookie ipv die waarde telkens met uw URL mee te sturen?

1) die cookies moete blijve he! als men van kleur switch en men verlaat de website en komt er later terug op, dan moet de laatst gekoze kleur actief zijn.

2) de waarde wordt uit de cookie gehaald. het probleem zit hem da als je van kleur veranderd, da hem de link ni juist aanmaakt!

in dit geval: index.php&c=dark

het moet dus mogelijk zijn om op eender welke pagina van kleur te verandere...

dus als ik bvb index.php?p=list&page=1 heb en ik klik op dark dan moet er het volgende kome > index.php?p=list&page=1&c=dark

Fr3aK

Legacy Member
Foutje in mijn post, cookie moest daar niet staan, enkel variabele.

Maak een apart scriptje, kleur.php en roep da aan als ge van kleur wilt veranderen, in da script zorgt ge er dan voor dat em ne cookie aanmaakt met de gewenste kleur. Om terug te keren naar de vorige pagina redirecten met:
PHP:
header("Location: ".$_SERVER['HTTP_REFERER']);
En als ge die inline styles eens in ne stylesheet zet hoefde enkel uw gewenst css-bestand in te laden adhv die cookie.

Sprits

Legacy Member
Fr3aK zei:
Foutje in mijn post, cookie moest daar niet staan, enkel variabele.

Maak een apart scriptje, kleur.php en roep da aan als ge van kleur wilt veranderen, in da script zorgt ge er dan voor dat em ne cookie aanmaakt met de gewenste kleur. Om terug te keren naar de vorige pagina redirecten met:
PHP:
header("Location: ".$_SERVER['HTTP_REFERER']);
bedankt

Fr3aK zei:
En als ge die inline styles eens in ne stylesheet zet hoefde enkel uw gewenst css-bestand in te laden adhv die cookie.

ik ben nog ni goe wegwijs me inline styles. en op de moment heb ik geen zin om mij daarmee bezig te houde. het belangrijkste is da mijn scripts al werke :)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan