Script ultimile pagini accesate

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
MelecaCristian
Mesaje:176

Script ultimile pagini accesate

buna am si eu o intrebare daca are cineva un script ce arata ultimele pagini generate de ex:

am pagina 1 : http://site/welcome.php?fname=Peter&age=37
am pagina 2 : http://site/welcome.php?fname=roxy&age=13

sa aculega datele ultimelor pagini genereate de ex :

name : peter age : 37
name : Roxy age : 13
...

sa pastreze doar datele de la "fname" si "age"

Multumesc mult
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford

MarPlo Mesaje:4343
Salut
Incearca scriptul acesta:

Cod: Selectaţi tot

<?php
// Script ultimile pagini accesate - marplo.net

$file = 'pgs.txt';     // stocheaza inregistrarile
$nrpg = 5;        // numarul maxim pt. ultimile pagini

if(isset($_GET['name']) && isset($_GET['age'])) {
  $add = 'name:'. $_GET['name']. ', age:'. $_GET['age'];

  // preia intr-un array randurile cu paginile salvate in $file
  $ar_pgs = file_exists($file) ? file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) : array();
  array_unshift($ar_pgs, $add);        // adauga datele paginii curente in array, la inceput
  $ar_pgs = array_unique($ar_pgs);     // elimina valorile identice
  $ar_pgs = array_slice($ar_pgs, 0, $nrpg);       // pastreaza doar numarul maxim de randuri

  file_put_contents($file, implode($ar_pgs, "\n"));

  for($i=0; $i<count($ar_pgs); $i++) {
    $ar_pgs[$i] = str_replace(array('name:', 'age:'), '', $ar_pgs[$i]);
  }

  echo implode($ar_pgs, '<br />');
}
?>

MelecaCristian Mesaje:176
am unit cele 2 coduri adica si cel ce il folosesc eu si cel de la tine si a mers ... acum ce mai era faza ca nu stiu cum sa il pun in alta pag. mam gandit sa ascund cele doua taguri name si age din script sa le tai sa pun acelas script intr-o noua pagina oare imi va arata aceleas rezultate :-? oricum scriptl este bun multumesc:X
„Uneori o greşeală poate fi tot ce este necesar pentru o realizare valoroasă.” — Henry Ford

MarPlo Mesaje:4343
Am modificat scriptul, avea cateva greseli.
Am inlocuit versiunea veche cu cea noua in postarea de mai sus.

davinci Mesaje:10
Salut, oare cum fac cum ai tu pe cms blog "Ultimele pagini vizitate"?

MarPlo Mesaje:4343
Salut
Vezi daca iti e de folos acest script: https://coursesweb.net/php-mysql/website ... ss-data_s2
- Pe langa ultimile pagini accesate afiseaza si alte date legate de traficul pe site: top pagini accesate, nr. vizite, viszitatori online, etc. Dar il poti modifica daca vrei doar anumite date din el.

- Altfel, daca vrei sa faci tu un script doat pt. ultimile pagini accesate si numar accesari:
1. Creezi un tabel in baza de date cu 4 coloane: url (adresa paginii), title (titlu paginii), nr (numar accesari), dtac (data ultimei accesari).

Cod: Selectaţi tot

CREATE TABLE pgtraf (url VARCHAR(240) PRIMARY KEY NOT NULL, title VARCHAR(180) NOT NULL DEFAULT 'title', nr INT(8) UNSIGNED DEFAULT 1, dtac TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP) CHARACTER SET utf8 COLLATE utf8_general_ci
2. La fiecare accesare a unei pagini se face un Select in tabel dupa campul "dtac" si obtii ultimele pagini accesate.

Cod: Selectaţi tot

SELECT title, url, nr FROM pgtraf ORDER BY dtac DESC LIMIT 8
3. Dupa select, se aplica un Insert ...Update care inregistreaza accesarea paginii curente, adaugand titlu si adresa ei.

Cod: Selectaţi tot

INSERT INTO pgtraf (title, url) VALUES ('$titlu_paginii', '$adresa_paginii') ON DUPLICATE KEY UPDATE title='$titlu_paginii', nr=nr +1

davinci Mesaje:10
Multumesc mult, am reusit dupa cum ai spus mai sus :D