Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Session
Forum PHP.pl > Forum > Przedszkole
piotr.kolodziej
moze sie nie znam, ale...
rejestruje zmienna sesji.
wydaje mi sie ze za kazdym razem jak odswiezam strone powinien zwiekszac ta zmienna.
W ogole mam jakies warningi na starcia, ale sie nie znam dlatego pisze
  1. <?php
  2. session_register(&#092;"zmienna\");
  3. ?>
  4. <?php
  5. if (!$zmienna) {
  6.                $zmienna = 1;
  7.                } else { $zmienna+=1;
  8.                  }
  9. echo $zmienna;
  10. ?>

chodzi mi tutaj konkretnie o taki prosty licznik odwiedzin na stronie.
scanner
  1. <?php
  2. echo 'Odswierzyles te strone juz '.(++$_SESSION['iCounter']).' razy';
  3. ?>
.dragonfly
Wogole to masz jakies warningi. Taaaaaaaa... A jakie moze powiesz. Latwiej bedzie ci pomoc. Sadze ze po pierwsze przyda ci sie

  1. <?php
  2. ?>
na poczatku pliku oraz
  1. <?php
  2. ?>
na koncu. Ew. Mozesz miec wylaczone register_globals wiec odwolywac musisz sie przez $_SESSION. I od kiedy wartosc zwieksza sie o 1 poprzez +=1 ? Moze zapoznasz sie z manualem na dobry poczatek.

  1. <?php
  2. if (!isset($_SESSION['zmienna'])) {
  3.  $_SESSION['zmienna'] = 0;
  4. } else {
  5.  $_SESSION['zmienna']++;
  6. }
  7. ?>
scanner
a w Zasadzie, to popełniłem błąd. powinno być:
  1. <?php
  2. $_SESSION['iCounter'] = isset( $_SESSION['iCounter'] ) ? $_SESSION['iCounter']++ : 1;
  3. echo 'Odswierzyles te strone juz '.$_SESSION['iCounter'].' razy';
  4. ?>
piotr.kolodziej
skozystalem z waszych porad i ostatecznie mam cos takiego:
Mam stara ksiazke ktora jeszcze dziala na Register_globals = on
jednak mimo to ciagle zatrzymuje sie na '1' / w ogole nie zwieksza dalej.

  1. <?php
  2. ?>
  3.  
  4. <?php
  5. $_SESSION['iCounter'] = isset( $_SESSION['iCounter'] ) ? $_SESSION['iCounter']++ : 1;
  6. echo 'Odswierzyles te strone juz '.$_SESSION['iCounter'].' razy';
  7. ?>
  8.  
  9. <?php
  10. ?>
scanner
Jeśli dobzre kodujesz i nie walisz HTML'em wszędzie gdzie popadnie (czytaj: używasz szablonow) ob_*() nie jest potrzebne.
Sprawdziłem i proszę: działa.
  1. <?php
  2. error_reporting( E_ALL );
  3. $_SESSION['iCounter'] = (!isset( $_SESSION['iCounter'] ) ) ? 1 : $_SESSION['iCounter']+1;
  4. echo 'Odswierzyles te strone juz '.$_SESSION['iCounter'].' razy';
  5. ?>
piotr.kolodziej
dzieki scanner, pozapominalem troche C++ winksmiley.jpg
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.