Hogy lehet php-ban megoldani, hogy egy egyszerű admin menüben ha megnyomok egy gombot akkor átírja pl. az index. Php-ban azt, hogy a design1. ccs helyett a design2. ccs használja?
Ez baromi sok mindentől függ.
Mondjuk kezdjük ott, hogy milyen "admin felület"?
Milyen módon tárolsz adatokat.
(Mert ugye valahogy el kéne tárolni, hogy az aktuális érték mi és mire cserélted stb...)
Ehhez még nem feltétlenül kell adatbázis, csak ha a változtatást hosszabb távon is el akarod tárolni.
Egyszerűbb megoldásként azt tudnám javasolni, hogy az alapbeállítást tárold egy session változóban. Ez lehet a css file neve is, vagy esetleg a sorszáma, ami egy tömbben való helyezésére utal.
Egy tömbben tárolod az elérhető css file-ok url-eit, és a session változó tárolja az aktuális css url sorszámát.
A html head-ben pedig a session változónak megfelelő css file olvasódik be.
A változtató gombok hívják újra az oldat (űrlap submit-ként, vagy $_GET megoldással, ez bármelyik lehet). Az oldalbetöltődéskor figyelni kell, hogy érkezik egy ezektől a gomboktól valamilyen request, és annak megfelelően módosítani kell a már létező session változót.
Az adatbázisos megoldás annyiban nyújt újat, hogy a session változó létrehozásakor az alapértelmezett értéket az adatbázisban tárolt érték szerint állítjuk be, átállításkor pedig update-ljük ezt az értéket. Ez a lépés kihagyható, de akkor session-önként alapállapotba áll vissza a css.
Remélem segítettem. Sok sikert!
<html>
<head>
<title>Weboldal></title>
<?php
if(isset($_POST['design1'])) {
$_SESSION['design'] = 'design1';
}
else if(isset($_POST['design2'])) {
$_SESSION['design'] = 'design1';
}
else {
$_SESSION['design'] = 'alap';
}
?>
<link rel="stylesheet" href="<?php echo $_SESSION['design']; ?>" type="text/css" />
</head>
<body>
<form method="post" action="<?php $_SERVER['PHP_SELF']; ?>">
<input type="submit" name="design1" value="Design" />
<input type="submit" name="design2" value="Design" />
</form>
</body>
</html>
Nagyjából így.
Na igen, csak a session minden userhez külön tárolja a dolgokat.
Akkor már egyszerűbb sütivel és javascripttel megcsinálni.
Ha miden felhasználónak egyformán akarja állítani a designt, akkor muszáj adatbázisban tárolni...
Sessionnal is ugyanolyan mint sütivel, csak annyi, hogy azzal a böngésző bezárásáig marad meg a választott design.
"csak annyi, hogy azzal a böngésző bezárásáig marad meg a választott design."
Pont fordítva, a süti a tartósabb, de ez most annyira nem lényeges. :)
Én is azt mondom hogy a süti megmarad, amig nem törli a felhasználó.
A session meg a böngésző bezárásáig.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!