ďťż

[php] Sesje Sejse w tle i z dynamiczną zmianą

       

Podstrony


telcocafe

Witam :)

Posiadam stronkę, w której używam $styl="default"; i ona ustala design.
Mogę poprzez zmianę wartości zmiennej styl ustalać nowy design.
Problem w tym, iż tylko ja mogę!

Chciałbym aby każdy user, który przegląda mą stronę mógł dynamicznie zmieniać design.

Wiem, iż należy skorzystać z funkcji $_SESSION
Oczywiście zapoznałem się z tematem w paru kursach.
Początek strony session_start() potem session_register() itd.

Przykład strony, która pozwala na łatwą zmianę designu to: www.dobreprogramy.pl
(do wyboru jest green, blue itd.)

Czy ktoś byłby tak miły i zaprezentował jakąś malutką stronkę z użyciem sesji do zmiany designu....?

Z góry dziękuję za pomoc.

ps.
Coś takiego znalazłem na stronie www.dobreprogramy.pl

<form action="wyglad" method="POST">
<span class="tyt1">zmień wygl&plusmn;d</span><br />
<br><select name="typ" onchange="url(this)" class="sel">
<option value='skora.php?layout=green'>zielony</option>
<option selected value='skora.php?layout=blue'>niebieski</option>
<option value='skora.php?layout=safari'>safari</option>
<option value='skora.php?layout=red'>czerwony</option>
</select></form>
Użytkownik TomaszTEO edytował ten post 05 maj 2006, 10:03


Nie zawsze trzeba session_register(). Daj session_start().
Spróbuję coś z głowy napisać ;)

index.php:
<?php session_start(); $default = 'to będzie skorka domyślna'; $green = 'to będzie zielona skórka :)'; $blue = 'to będzie niebieska skórka;)'; switch($_SESSION['layout']) {  case 'default': $skorka = $default; break;  case 'green': $skorka = $green; break;  case 'blue': $skorka = $blue; break;  default: $skorka = $default; } echo $skorka; ?> <form action="skora.php" method="POST"> <span class="tyt1">zmień wygląd</span><br /> <br><select name="typ" onchange="url(this)" class="sel"> <option value='skora.php?layout=default'>domyślny</option> <option value='skora.php?layout=green'>zielony</option> <option selected value='skora.php?layout=blue'>niebieski</option> </select></form>

skora.php:
<?php session_start() switch($_GET['layout']) {  case 'default': $_SESSION['layout'] = 'default'; break;  case 'green': $_SESSION['layout'] = 'green'; break;  case 'blue': $_SESSION['layout'] = 'blue'; break;  default: $_SESSION['layout'] = 'default'; } header('Location: index.php'); ?>

PS. lepiej zrób to na cookie. Dzięki temu będziesz mógł zapamietać konfigurację przy następnym odwiedzeniu strony. dobreprogramy też tak robią.
Użytkownik Coldpeer edytował ten post 05 maj 2006, 10:24
Serdecznie dziękuję za odpowiedź :)
Dalej już sobie poradzę.
Ważna jest myśl twórcza (pomysł) a wykonanie, to już kwestia doboru elementów jezyka.

Jeszcze raz dziękuję :D

Ach...kombinuję, kombinuję i nic :(
Skrypt podany powyżej nie zmienia zmiennej layout
pomimo licznych prób....

Czy ktoś jest w stanie poprawić ten skrypt by działał ?

Z góry dziękuję



http://compzone.org/...ayoutow-42.html

//to w ramach, jakby ktoś chciał jednak znać odpowiedź!

Pytanie jak to zrobić bez pliku config.php i z użyciem sesji (by działało) ????

=================================
Uwaga; udało mi się opracować w pełni działający system! :P

index.php
--------------
session_start();
if(!$_POST['wyglad']==NULL){$_SESSION['wyglad']=$_POST['wyglad' ];
header("Location: index.php");}
$design=$_SESSION['wyglad']; if($design==NULL){$design="default";}

//treść strony a w dowolnym miejscu stronki uruchom funkcję

function skorka(){global $skrypt;
echo "<form action=\"".$skrypt."\" method=\"post\">";
echo "<input class=\"skorka\" type=\"submit\" name=\"submit\" value=\"DESIGN - włącz\" /><br/>";
echo "<input class=\"skorka\" type=\"radio\" name=\"wyglad\" value=\"default\" /> domyślny<br />";
echo "<input class=\"skorka\" type=\"radio\" name=\"wyglad\" value=\"green\" /> zielony<br />";
echo "<input class=\"skorka\" type=\"radio\" name=\"wyglad\" value=\"blue\" /> niebieski<br /><br />";
echo "</form>";
}

//ładuje skórkę
<div class="skorka"><? echo skorka(); ?></div>

Powinno być zrozumiałe :P
W razie czego pisać

ps. cała sprawa polega na tym, że sesja pamięta hm folder.

Otóż style i obrazki z całego designu można znaleźć (u mnie!) w folderze design/KOLOR (gdzie kolor to opcja: default, greem, blue)

Mam nadzieję, że pozwoli to zrozumieć wszystko :P :)
Użytkownik TomaszTEO edytował ten post 18 maj 2006, 22:26
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.