Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekierowanie użytkownika na różne strony w zależności od ilości wizyt
Forum PHP.pl > Forum > PHP
mzk23
Witajcie,

niestety jestem PHP newbie i nie do końca jestem w stanie zmodyfikować prostego skryptu:

  1. if(! isset($_COOKIE["ProfileVisitCount"])){
  2. setcookie("ProfileVisitCount", "1", time()+3600);
  3. }
  4.  
  5. if($_COOKIE["ProfileVisitCount"] > 5){
  6. header("Location: httx://domain.com/signup");
  7. exit();
  8. }
  9. else {
  10. setcookie("ProfileVisitCount", ($_COOKIE["ProfileVisitCount"] + 1), time()+3600);
  11. }


Powyższy kod przekierowuje użytkownika na inną stronę, po odwiedzeniu jej powyżej 5 razy (na postawie ciasteczka). Za to ja chciałbym przekierowywać użytkowników już od pierwszego razu tj.
-użytkownik trafia na stronę po raz pierwszy: redirect na strona1.pl
-użytkownik trafia na stronę po raz trzeci: redirect na strona2.pl
-użytkownik trafia na stronę po raz piąty: redirect na strona3.pl
itd.

PS. czy w tym skrypcie ważność ciasteczka to 1 godzina?

Będę bardzo wdzięczny za pomoc.
Pozdrawiam
Tomplus
setcookie() będzie aktualizować ci ilość wejść, więc w takim razie powinien wykonywać się za każdym razem po wejściu na stronę.

header() wysyła nagłówki, także z przekierowaniem np. header("Location: http://strona1.pl");

Więc wystarczy ustalić sobie warunki:

if(count == 1) ;//dla strony 1
elseif(count <= 3) ; // dla strony 2
else ; //dla pozostałych stron.

To tak skrótowo.

A co do czasu, to TIME()+3600 przesuwa wskaźnik ważności ciasteczka o godzinę. Czyli po godzinie licznik liczyłby od nowa.
Niree
Dokładnie tak jak wyżej kolega napisał. Niepotrzebnie ustalasz ważność ciasteczka. Jeżeli użytkownik bedzie chciał, to i tak usunie ciasteczko ręcznie i zacznie się naliczać od nowa.
No chyba, że chcesz naliczyć, ile razy wszedł na stronę w ciągu ostatnich ilus godzin.

W każdym razie:

index.php
  1. <?php
  2. if(isset($_COOKIE['ProfileVisitCount']))
  3. {
  4. setcookie('ProfileVisitCount', ''.$_COOKIE['ProfileVisitCount'].''+1);
  5. if($_COOKIE["ProfileVisitCount"] >= 1 && $_COOKIE["ProfileVisitCount"] <= 2){
  6. header("Location: Location: httx://domain.com/signup po 1-2 wejsciu"); //przekieruje, gdy uzytkownik trafi na strone po raz 1-2
  7. }
  8. else if($_COOKIE["ProfileVisitCount"] >= 3 && $_COOKIE["ProfileVisitCount"] <= 4){
  9. header("Location: Location: httx://domain.com/signup po 3-4 wejsciu"); //przekieruje, gdy uzytkownik trafi na strone po raz 3-4
  10. }
  11. else if($_COOKIE["ProfileVisitCount"] >= 5 && $_COOKIE["ProfileVisitCount"] <= 6){
  12. header("Location: Location: httx://domain.com/signup po 5-6 wejsciu"); //przekieruje, gdy uzytkownik trafi na strone po raz 5-6
  13. }
  14. }
  15. else
  16. {
  17. setcookie('ProfileVisitCount', '1');
  18. }
  19. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.