Curs Php-mysql


Este un script care contorizeaza numarul de click-uri pe un link (sau mai multe) de pe o pagina web si stocheaza datele intr-un fisier text. Contorizeaza inclusiv numarul de click-uri pe link-uri de download (util pentru cunoasterea numarului de download-uri).
Scriptul contorizeaza toate link-urile si le stocheaza intr-un fisier text.

Cod Script (nrclick.php)

<?php
// Script pt. contorizarea click-urilor pe link (inclusiv link-uri de download)
// MarPlo (marplo.net)

$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;
}

Utilizare

<?php include("nrclick.php"); ?>

<a href="nrclick.php?url=download/program.zip">Download</a>

<?php echo showclicks("download/program.zip"); ?>

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Clic pe tag-ul care creaza o lista ordonata numeric
<ul> <tr> <ol>
<ol>
  <li>List-1</li>
  <li>List-2</li>
</ol>
Care selector reprezinta ID-ul unui element in CSS
.nume #nume nume
#id {
  color: #0110fb;
}
Ce cod creaza un obiect in JavaScript?
{} [] new Date()
var obj = {"site": "CoursesWeb.net", "pr": 5};
alert(obj.site);
Indicati instructiunea prin care se verifica daca o conditie este True sau False
else if() switch()
$var = 8;
if($var == 8) echo $var;
Indicati timpul Prezent pentru verbul "to be" (a fi).
be were is
Now, it is here.
- Acum este aici.
Care este conjugarea la timpul prezent al verbului "divertirse" (a se distra) la forma "yo"?
te diviertas me divierto se divierta
Yo me divierto.
- Eu ma distrez.
Contoar click-uri pe link

Last accessed pages

  1. Prezentul continuu - Exercitii si teste incepatori (39478)
  2. Aliniere DIV-uri pe aceeasi linie (5377)
  3. Formatare text in pagina html (38562)
  4. Titluri, Paragrafe, Un nou rand, Linie orizontala (33341)
  5. Trecutul simplu si continuu - Past Tense Simple and Continuous (81820)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (20)
  2. Curs HTML gratuit Tutoriale HTML5 (12)
  3. Limba spaniola curs online incepatori si avansati (8)
  4. Coduri pt culori (6)
  5. Cursuri limba engleza gratuite si lectii online (5)