Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sesje & Tablice, mam ciekawy problem :)
kysiu.pl
post
Post #1





Grupa: Zarejestrowani
Postów: 42
Pomógł: 0
Dołączył: 24.10.2004

Ostrzeżenie: (0%)
-----


Otóż.

Robie z $_SESSION['db'] tablice w której zapisuje historie odwiedzonych stron (PHP_SELF )

  1. <?php
  2.  
  3. //Startujemy z sesja
  4.  
  5. //Funkcja dodająca kolejne strony do historii
  6.  
  7. function ($adres) {
  8. $_SESSION['db'][] = $adres;
  9. }
  10.  
  11. ?>


W wyniku tworzy się nam tablica:
Kod
$_SESSION['db'][1] = www1;
$_SESSION['db'][2] = www2;
$_SESSION['db'][3] = www3;
...


I tak tworzy się historia w nieskończoność lub do zakończenia czasu trwania sesji.


Problem polega na tym, że chciałbym ograniczyć funkcje do zapisywania max 10 ostatnich odwiedzonych stron. I żeby ostatnia strona miała indeks 1 przed ostatnia indeks 2 itd..

Np.
teraz zapisuje sie tak:

$_SESSION['db'][99] = "ostanio odwiedzona strona";

a chce zeby ostatnio odwiedzona strona miala indeks [1]
i tych indeksów było max 10.


Pomoże ktoś questionmark.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
crash
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 196
Pomógł: 2
Dołączył: 17.01.2004
Skąd: Sosnowiec

Ostrzeżenie: (0%)
-----


  1. <?php
  2.  
  3. function historia($dana, $nazwa = 'db', $ile = 10)
  4. {
  5. $db = !empty($_SESSION[$nazwa]) ? $_SESSION[$nazwa] : array();
  6.  
  7. $db  = array_reverse($db);
  8. $db[] = $dana;
  9. $db  = array_slice($db, 0 - $ile);
  10. $db  = array_reverse($db);
  11.  
  12. $_SESSION[$nazwa] = $db;
  13. return $db;
  14. }
  15.  
  16. print_r(historia($adres));
  17. ?>

Aktualizuje i wyświetla aktualna zawartość hisotrii...


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 10:02