Contoar downloads, nr click-uri

Aici prezentati probleme, intrebari, sau orice subiecte legate de scripturi si tutoriale de pe site.

Contoar downloads, nr click-uri

» 20 Apr, 2011

salut, am o mica problema si nu stiu cum sa o fac si apelez la tine ca tu cunosti cel mai bine codul, am descarcat scriptul cu nrclick si merge super bine dar am o mica dorinta cum pot modifica acest cod
Cod: Selectaţi tot
<?php
$nrclickFile = "nrclick.txt";   // Numele fisierului care stocheaza nr. de clickuri.
$campul = 0;
// Verifica daca preluarea adresei url e pozitiva, in caz afirmativ prelucreaza datele
if(isset($_GET['url'])) {
   $url = $_GET['url'];     // Preia adresa url din link.
   $fisier = fopen($nrclickFile, 'r+b');
   flock($fisier, LOCK_EX);   // Blocheaza fisierul
   // Citeste fisierul de stocare linie cu linie pentru gasirea cimpului cu URL-ul.
   while($citeste = fgets($fisier)) {
      if(!strcmp($citeste, $url."\n")) {   // Compara linia gasita cu url-ul (daca sunt egale 'strcmp'=0)
         $reda = ftell($fisier);   // Returneaza pozitia curenta a pointer-ului
         $nrclick = fgets($fisier);   // Preia data (nr.) care se afla pe linia imediat dupa pozitia gasita de 'ftell'
         $nrclick = 1 + "$nrclick"; // Mareste nr. de clickuri cu o unitate
         fseek($fisier, $reda);   // Seteaza noua pozitie a pointerului (de la inceputul fisierului in bytes) la nivelul precizat de 'ftell', pt a adauga in locul corect noua valarea de click-uri
         fputs($fisier, "$nrclick");  // 'fputs' este un alia a lui 'fwrite' (scrie noua valoare)
         $campul = 1;
      }
   }
   // Daca nu a fost gasit linia cu URL-ul, atunci scrie in fisier un camp cu URL-ul.
   if(!$campul) {
      fwrite($fisier, $url."\n");   // Scrie url-ul si adauga o noua linie
      fputs($fisier, "1"."        \n");  // Adauga nr. clickuri 1 in linia imeiat dupa url
   }
        @flock($fisier, LOCK_UN);   // Deblocheaza fisierul
   fclose($fisier);

   // Redirectioneaza browserul spre url-ul preluat $_GET
   header("Location: " . $url);
}
// Functie pentru afisarea numarului de click-uri.
function showclicks($numeurl) {
   $nrclick = 0;
   global $nrclickFile;   // introduc numele fisierului in functie
   $fisier = fopen($nrclickFile, 'r');  // Eschide fisierul
   while($citeste = fgets($fisier)) {   // Parcrge fisierul linie cu linie
      if(!strcmp($citeste, $numeurl."\n")) {   // Gaseste pointer-ul liniei cu url-ul si-l stabileste la urmatoarea linie
         $nrclick = fgets($fisier);   // Preia datele Nr. din locul pointer-ului stabilit anterior
         break;   // Opreste parcurgerea fisierului
      }
   }
   fclose($fisier);
   return $nrclick;
}
?>
si
Cod: Selectaţi tot
<?php @include("nrclick.php"); ?>
<a href="nrclick.php?url=download/program.zip">Download</a>
<?php echo showclicks("download/program.zip"); ?>
ca sa nu imi salveze in fisier text ci in bd. te rog ajuta-ma ca am mare nevoie de ea ca problema cu care ma confrunt acum de asta atarna si no imi trebuie ca sa preia din bd. cu stima trif
http://cantaricrestine.ro ---> cu stima Trif
Avatar utilizator
trif
 
Mesaje: 376
Membru din: 23 Feb, 2010
Localitate: Oradea


Contoar downloads, nr click-uri   » 21 Apr, 2011

Poate e de folos script-ul / clasa PHP de la pagina Contoar downloads si accesari
Salveaza in tabel MySQL si afiseaza numar accesari / Downloads fisiere, si data ultimei accesari la fiecare.
MarPlo
Administratorul site-ului
 
Mesaje: 1583
Membru din: 13 Mai, 2008


Contoar downloads, nr click-uri   » 22 Apr, 2011

salut, am facut asa
Cod: Selectaţi tot
$sql = "UPDATE `". $this->tb_name. "`  SET (`". $this->tb_cols['urlf']. "`) =('$urlf') WHERE`". $this->tb_cols['nrac']. "`=`". $this->tb_cols['nrac']. "`+1";
dar imi da eroarea Eroare: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(`urlf`) =('../cantari/diverse/diverse.ppt') WHERE`nrac`=`nrac`+1' at line 1
Warning: Cannot modify header information - headers already sent by (output started at
nu stiu de ce. cu stima trif
http://cantaricrestine.ro ---> cu stima Trif
Avatar utilizator
trif
 
Mesaje: 376
Membru din: 23 Feb, 2010
Localitate: Oradea


Contoar downloads, nr click-uri   » 23 Apr, 2011

Incearca sintaxa de Update asa:
Cod: Selectaţi tot
$sql = "UPDATE `". $this->tb_name. "`  SET `". $this->tb_cols['nrac']. "`=(`". $this->tb_cols['nrac']. "`+1) WHERE `". $this->tb_cols['urlf']. "`='$urlf'";
MarPlo
Administratorul site-ului
 
Mesaje: 1583
Membru din: 13 Mai, 2008


Contoar downloads, nr click-uri   » 23 Apr, 2011

salut, multumesc mult de tot, merge super bine. cu stima trif
http://cantaricrestine.ro ---> cu stima Trif
Avatar utilizator
trif
 
Mesaje: 376
Membru din: 23 Feb, 2010
Localitate: Oradea


Contoar downloads, nr click-uri   » 02 Mai, 2011

Salut,

Scriptul http://www.marplo.net/php-mysql/contoar_downloads_accesari-s.php nu merge. Am introdus corect datele de la mysql si degeaba k nu isi creeaza baza de date. Era mai bine un fisier.sql cu baza de date, am incercat mai de multe ori si nu functioneaza adica nu isi creaza baza de date ;)
nutzu123
 
Mesaje: 68
Membru din: 01 Iun, 2010
Localitate: Rm. Valcea


Contoar downloads, nr click-uri   » 02 Mai, 2011

Da vreo eroare ceva?
Poti folosi urmatoarea comanda sql pt. crearea tabelului:
Cod: Selectaţi tot
CREATE TABLE `access` (
     `urlf`  VARCHAR(88) PRIMARY KEY NOT NULL,
     `nrac` INT(8) UNSIGNED DEFAULT 1,
     `dt` TIMESTAMP
    ) CHARACTER SET utf8 COLLATE utf8_general_ci
MarPlo
Administratorul site-ului
 
Mesaje: 1583
Membru din: 13 Mai, 2008


Contoar downloads, nr click-uri   » 02 Mai, 2011

Fatal error: Call to a member function getAccess() on a non-object in

Si nu merge nici functia
// verifica daca in $db exista tabelul din $tb_name
// daca nu exista, apeleaza metoda setTable() ca sa creeze tabelul
bine am folosit
Cod: Selectaţi tot
CREATE TABLE `access` (
     `urlf`  VARCHAR(88) PRIMARY KEY NOT NULL,
     `nrac` INT(8) UNSIGNED DEFAULT 1,
     `dt` TIMESTAMP
    ) CHARACTER SET utf8 COLLATE utf8_general_ci
nutzu123
 
Mesaje: 68
Membru din: 01 Iun, 2010
Localitate: Rm. Valcea


Contoar downloads, nr click-uri   » 02 Mai, 2011

Problema nu e ca nu merge scriptul, lui trif ii functioneaza. Probabil nu e utilizata clasa cum trebuie.
Ori nu e inclus cum trebuie fisierul cu clasa CountAccess.
Ori methoda clasei getAccess() e apelata inaintea obiectului clasei.
Ca indicatie, daca vrei sa inveti, sunt lectii pe site despre Clase si obiecte in PHP, incepand cu PHP OOP - Clase si Obiecte, Metoda constructor.
MarPlo
Administratorul site-ului
 
Mesaje: 1583
Membru din: 13 Mai, 2008


Contoar downloads, nr click-uri   » 02 Mai, 2011

Am rezolvat cu totul merge bine scriptul imi contorizeaza corect click-urile in mysql dar am dat peste o noua problema la afisarea click-urilor si in ce dara :(

Cod: Selectaţi tot
<a href="down.php?urlf=director/$fisier" title="descarca">descarcat</a>
<?php echo $objCA->getAccess('director/$fisier'); ?>


warning division by zero


Daca pun manual numele fisierului descarcat ex:
Cod: Selectaţi tot
<?php echo $objCA->getAccess('director/poza0023.jpg'); ?>
imi merge afisarea click-urilor si data. :?
nutzu123
 
Mesaje: 68
Membru din: 01 Iun, 2010
Localitate: Rm. Valcea


  •  
Daca nu ati gasit raspunsul aici, cautati si pe net:   Contoar downloads, nr click-uri .
Pub
 
Mesaje: 1
Membru din: 21 Dec, 2010


Următorul

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 1 vizitator

Cursuri / Tutoriale


cron