Newsgroup: it.comp.www.php
Titolo: contare i click su un link

ciao,
sapete dirmi come faccio a contare i click su un link? Mi manca proprio
l'idea per poterlo fare.
Grazie,
Michele
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 l'idea per poterlo fare.
Per link intendi <a> oppure il semplice caricamento della pagina?
Nel secondo caso ti basta creare uno script, da inserire in tutte le pagine
su cui vuoi fare il conteggio, che preleva il valore corrente (da db o file
di testo), lo incrementa e lo visualizza (se vuoi).
In questo modo ogni caricamento della pagina fa incrementare il contatore.
Nel primo caso è più complesso se vuoi inserire qualsiasi tipo di link.
Ciao
Marco

 proprio l'idea per poterlo fare.
Script intermedio che va su DB:
Pseudo codice:
//file link.php
<?php 
Incrementa in un DB  il numero di click per l'url $_GET["URL"]
Header location $_GET["URL"]
?>
Url nelle altre pagine:
<a href='link.php?URL=<?php print
(urlencode('
http://www.quellochevuoi.com
')); ?>'>dfadfasdf</a>
Saluti.
-- 
I'am what I'am, I do what I can

 Per link intendi <a> oppure il semplice caricamento della pagina?
Intendo proprio <a>...


> Intendo proprio <a>...
La prima cosa che bisogna capire è che il conteggio lo deve fare uno
script php.
Una soluzione possibile può essere quella di impostare il link in questo
modo:
<a href="counter.php?page=pagina.html">Pagina</a>
In questo modo ogni link punta allo script counter.php.
Lo script non fa altro che incrementare un contatore (db, testo, ...) poi
ridirige sul valore dell'attributo page.
Sono stato chiaro?
Ciao
Marco

 Sono stato chiaro?
Insomma, ma stai sicuro che sono io che non ho capito....
tra l'altro io avevo pensato di utlizzare sui link un altro sistema e cioè:
<a href="paginaacuipuntaillink.php?vlink=1">Pagina</a> con vlink diverso per
ogni link.
poi in ogni pagina inserire uno script per la registrazione su db o txt.
Cosa ne pensi?
Ho già buttato giù qualcosa ma non ho ancora finito.
ciao,


 ogni link.
Non mi sembra un granchč. vlink che č? Il valore del contatore?
Tanto vale fare cosě:
<a href="paginaacuipuntaillink.php">Pagina</a>
Poi all'interno della pagina fai l'incremento del contatore e lo memorizzi.
Per distinguere i contatori puoi usare il nome del file.
Ciao
Marco

 Poi all'interno della pagina fai l'incremento del contatore e lo
memorizzi.
come faccio l'incremento?
Ciao


> come faccio l'incremento?
Sommando 1 al valore corrente.  :-D
Lo script può essere costituito da una semplice funzione di questo tipo:
function counter($pageName){
    ...
}
La funzione la metti in un bel file counter.inc.php che dovrai includere in
ogni script in cui vuoi effettuare il conteggio:
include("counter.inc.php");
Dopo l'inclusione invochi la funzione passandogli il nome della pagina:
counter($PHP_SELF);
Quindi, ricapitlando. Ogni pagina "da contare" inizierà con:
<?
include("counter.inc.php");
counter($PHP_SELF);
...
?>
Ora vediamo cosa mettere nel corpo della funzione.
La funzione si vede arrivare il nome della pagina.
Supponiamo di usare il db per fare i conteggi.
Nel db ci sarà una tabella con 2 campi: nome e hit. Ossia nome della pagine
e valore del contatore.
Pertanto un'istanza della tabella potrebbe essere:
nome            hit
-------------------
pagina1.php     1
pagina2.php     12
pagina3.php     4
-------------------
A questo punto dovrebbe essere chiaro: fai una query che incrementa il
valore della colonna hit: UPDATE tabella SET hit=Hit+1 WHERE nome=$nomeFile
Eventualmente puoi prima fare qualche controllo che il record esista.
Fine del gioco.
Un appunto. La variabile $PHP_SELF contiene il percorso completo del file,
non solo il nome. Ossia qualcosa del tipo: 
http://www.dominio.it/pagina1.php
Quindi, all'interno della funzione counter depura la stringa da tutto quello
che non serve.
Ciao
Marco

Ciao,
grazie mille, sei stato davvero gentile, era semplice.
Adesso applico, ti farò sapere....
ciao,
