Jak zrobić przekierowanie strony z pamięcią


(Dylewzgr) #1

Witam.

Chciał bym się dowiedzieć jak otrzymać efekt przekierowania strony z pamięcią (zapis w ciasteczkach).

Efekt można zobaczyć na stronie Google, a dokładniej mówiąc chodzi o to że gdy odpalimy stronę Google po raz pierwszy ukarze nam się standardowy wygląd strony.

Jeżeli zdecydujemy się kliknąć na link do iGoogle to po ponownym wejściu na ten sam adres( google.pl ) automatycznie uruchamia się nam strona iGoogle.

Jak można otrzymać ten efekt??

Dziękuję z góry za pomoc.


(Kutar 0) #2

Zapisujesz ciastko funkcją setcookie()

W zależności od tego czy dane ciastko już istnieje, wyświetlasz odpowiednią stronę:

if(isset($_COOKIE['mojeciacho'])) { //wyświetl stronę

} else { //wyświetl inna stronę

}

Oczywiście nie zaszkodzi sprawdzić, czy ciastko ma właściwą wartość.


(Dylewzgr) #3

Bardzo słabo znam PHP ale zrobiłem coś takiego...

< Strona 1 >

<?php

$value = "page1.php';


setcookie("TestCookie", $value);

setcookie("TestCookie", $value, time()+3600); 

setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);

?>

< Strona 2 >

<?php

$value = 'page2.php';


setcookie("TestCookie", $value);

setcookie("TestCookie", $value, time()+3600);

setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);

?>

i pytanie się pojawia jak skonfigurować Stronę 0, która by czytała adres z ciasteczka i odpalała go.??

Z góry bardzo dziękuje za pomoc...


(Kutar 0) #4

Nie wiem czy w ten sposób chcesz to rozwiązać. Poniższy kod sprawdza jaki adres jest w ciastku i jeśli jeden z tych zadeklarowanych przez Ciebie, to przekierowuję na odpowiednią stronę. W przeciwnym przypadku przekierowuje na default.php

<?php

if(isset($_COOKIE['TestCookie'])&&($_COOKIE['TestCookie']=='page2.php'||$_COOKIE['TestCookie']=='page1.php')) {

header('Location:'.$_COOKIE['TestCookie']); exit;}

else {header('Location:default.php'); exit;}

?>

Co do Twoich kodów, to w każdym wystarczy tylko to ostatnie wywołanie setcookie(). Dwa pierwsze są zbędne.


(Dylewzgr) #5

Dzięki wielkie o to chodziło :smiley: :smiley: :smiley: