Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zapamiętywanie stanu strony
Forum PHP.pl > Forum > Przedszkole
vander1989
Mam dwa pytanka. W jaki sposób mam zrobic zeby licznik ktory działa na jednej podstronie po przejsciu usera na inna podstronę stale działał a po kolejnym wejsciu przedstawiał dalszy ciąg odliczania a nie zaczynał od nowa?
i drugie pytanie jak można sklekocic odliczac od jakiejs wartości do zera w php?
bastard13
Poczytaj o sesjach:
http://pl.php.net/manual/en/book.session.php
Mostrom
To drugie pytanie:
Możesz to zrobić w pętli for:
  1. <?php
  2. for($x=100;$x>=0;$x--){
  3. echo $x.' ';
  4. }
  5. ?>

Liczbę początkową 100 możesz zastąpić oczywiście zmienną pobraną z byle formularza przez $_POST.

Wtedy dodajesz przed PHP formularz tak:
  1. <form method=post>
  2. <input type=text name="liczba">
  3.  
  4. <input type=submit>
  5. </form>


A w warunku pętli dajesz to:
  1. for($x=$_POST["liczba"];$x>=0;$x--)
vander1989
Cytat(bastard13 @ 9.09.2010, 22:05:07 ) *

a jakos bardziej mnie możesz nakierunkowac sesje jako takie mam
bastard13
Na każdej stronie, na początku:

A do liczenia (też na każdej stroni):
  1. if(isset($_SESSION['counter']))
  2. $_SESSION['counter']++;
  3. else
  4. $_SESSION['counter']=1;
  5.  
  6. echo $_SESSION['counter'];

I liczy:)
vander1989
a to odliczanie to od 10 do 1 ale w sekundach zeby czas się sam zmianił na stronie a nie trzeba było go odświeżać c chwile
everth
Odliczanie robisz JSem po stronie użytkownika. Po stronie php zapisujesz wartość time() w sesji. Jeśli ustalisz sobie interwał 60s to sprawdzasz czy różnica time() - czas zapisany w sesji jest większa lub równa 60. Jeśli nie to pobierasz aktualną różnicę i wysyłasz jako ilość sekund którą należy odjąć od stanu podstawowego timera w JS. W innym wypadku masz pewność że interwał został osiągnięty więc możesz wykonać jakąś tam akcję i zresetować timer (usuwając zawartość time w sesji).

Przydatne linki:
setInterval, setTimeout
time() w PHP
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.