Visualizzazione risultati 1 fino 7 di 7

Discussione: creare un +1 (contatore click)

  1. #1
    Guest

    Predefinito creare un +1 (contatore click)

    salve a tutti :)
    so che stresso con le mie continue richieste >_<
    ma volevo sapere se c'è un codice che ogni volta che si clicca un link a mia scelta un numero accanto viene aumentato di 1
    in poche parole un conta click
    però vorrei che blocchi gli ip che hanno gia cliccato
    è possibile?

  2. #2
    Guest

    Predefinito

    Si possono salvare le informazioni su un database e poi visualizzarle. Se mi dai un attimo ti scrivo uno script che, più o meno, dovrebbe fare quello che chiedi.

    EDIT: Ecco a te, testato e funzionante. Ci sono tre file. Il primo, click.php, assegna i voti e reindirizza all'URL votato, nel caso l'IP non abbia già votato per quell'URL. Deve contenere questo (il codice è commentato):
    Codice PHP:
    <?php
    // include il file di configurazione
    require('config.php');

    // recupera l'URL da cliccare
    $url = mysql_real_escape_string($_GET['url'], $conn);

    // controlla che l'URL non sia vuoto
    if($url == '')
    die(
    'Hai specificato un URL vuoto.');

    // controlla che non ci sia un voto da questo IP
    $query = @mysql_query("SELECT * FROM clicks WHERE url='{$url}' AND ip='{$_SERVER['REMOTE_ADDR']}'") or die(mysql_error());
    if(@
    mysql_num_rows($query) == 1)
    die(
    'Hai gi&agrave; votato per questo URL.');

    // altrimenti aggiunge un voto
    @mysql_query("INSERT INTO clicks (ip,url) VALUES ('{$_SERVER['REMOTE_ADDR']}','{$url}')") or die(mysql_error());

    // reindirizza all'URL
    header("Location: {$url}");
    ?>
    Il secondo, stats.php, visualizza le visite assegnate ad ogni URL (per motivi di sicurezza non visualizza gli IP da cui provengono, fammi sapere se ti serve):
    Codice PHP:
    <?php
    // include il file di configurazione
    require('config.php');

    // recupera tutti gli URL
    $query = @mysql_query("SELECT * FROM clicks") or die(mysql_error());

    // crea un array per memorizzare i dati
    $data = array();

    // salva tutti i dati
    while($assoc = @mysql_fetch_assoc($query))
    {
    // incrementa il contatore per questo URL
    $data[$assoc['url']] += 1;
    }

    // visualizza la tabella
    echo '<table cellpadding="5" border="1">';
    echo
    '<tr>';
    echo
    '<th>URL</th>';
    echo
    '<th>Visite</th>';
    echo
    '</tr>';

    // visualizza le informazioni
    foreach($data as $url => $visits)
    {
    echo
    '<tr>';
    echo
    '<td><a href="click.php?url='. $url .'" target="_blank">'. $url .'</a></td>';
    echo
    '<td>'. $visits .'</td>';
    echo
    '</tr>';
    }

    // chiude la tabella
    echo '</table>';
    ?>
    E il terzo è semplicemente un file di configurazione, si deve chiamare config.php e devi personalizzare i dati del database:
    Codice PHP:
    <?php
    // dati del database
    $dbhost = 'localhost'; // host (localhost)
    $dbuser = 'root'; // username (nomesito)
    $dbpass = ''; // password (lascia vuoto)
    $dbname = 'counter'; // nome database (my_nomesito)
    $dbport = 3306; // porta (lascia 3306)

    // connessione al database
    $conn = @mysql_connect("{$dbhost}:{$dbport}", $dbuser, $dbpass) or die(mysql_error());
    @
    mysql_select_db($dbname, $conn) or die(mysql_error());
    ?>
    E questa è la tabella che devi creare sul tuo sito:
    Codice:
    -- phpMyAdmin SQL Dump
    -- version 3.2.2.1deb1
    -- http://www.phpmyadmin.net
    --
    -- Host: localhost
    -- Generato il: 21 feb, 2010 at 09:56 PM
    -- Versione MySQL: 5.1.37
    -- Versione PHP: 5.2.10-2ubuntu6.4
    
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    
    --
    -- Database: `counter`
    --
    
    -- --------------------------------------------------------
    
    --
    -- Struttura della tabella `clicks`
    --
    
    CREATE TABLE IF NOT EXISTS `clicks` (
      `ip` varchar(15) NOT NULL,
      `url` tinytext NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
    Divertiti!
    Ultima modifica di alessandro1997 : 21-02-2010 alle ore 22.56.57

  3. #3
    Guest

    Predefinito

    grazie :o
    non è che si potrebbe fare anche con un file txt? XD

  4. #4
    Guest

    Predefinito

    Ho letto solo ora la tua richiesta. Sì, si può fare, ma è più complicato e dispendioso. È proprio necessario?

  5. #5
    Guest

    Predefinito

    hmmmm
    perchè avevo bisogno di creare molti di questi link e con un file txt credo sia piu facile metterli :(

  6. #6
    Guest

    Predefinito

    Ma non hai capito, non c'è bisogno di registrarli. Basta che fai puntare all'URL http://tuosito.altervista.org/click....//indirizzo.it e http://indirizzo.it verrà automaticamente aggiunto

  7. #7
    Guest

    Predefinito

    sai che non ho capito? XD

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •