Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20

Discussione: conta click

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    32

    conta click

    Sul mio sito ho inserito un'immagine (1), passandoci sopra col mouse visualizzo un'altra immagine (2) (onmouseover), togliendo il mouse ritorna visualizzata la 1(onmouseout), clicckandoci su cambia e visualizzo l'immagine 3 (onclick). Ora vorrei inserire un contaclick riferito all'immagine 3, tipo il "Like" di facebook o "iLike" che ho visto su altri siti ma che non riesco a far funzionare sul mio... chi mi puo' aiutare? la pagina è in html, ci sono css e js, volendo integro anche con php....
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    32
    semplifico la domanda: vorrei programmare un contatore di click fatti su un'immagine in modo tale che sia visualizzato il numero in una stringa a lato oppure in un box....

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,132
    In rete dovresti trovare script da riadattare, scriverlo da zero sarebbe complesso, inoltre il javascript sarebbe marginale (l'utilizzo di Ajax per il dialogo col server) lo script andrebbe sviluppato in php/asp/jsp/etc...

    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    32
    Infatti sto cercando in rete e ho visto che ci sono molti contatori, anche se per la verità quasi tutti sono riferiti agli ingressi alle pagine o al mi piace di facebook che a me invece non interessa perche' vorrei contare i click di tutti gli utenti, non solo quelli loggati su fb. Ho provato varie soluzioni in php e l'unico che funziona in parte è questo.... non mi visualizza pero' il box con gli ingressi...
    http://www.html.it/script/mycont/ .....Ora provo a contattare il programmatore anche se vedo che il post è datato (2003). Se comunque qualcuno ha dei link da suggerire, son ben accetti, poi me li adatto in qualche modo. grazie!

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Come chiaramente ha specificato Andrea, la parte più sostanziale riguarda il codice lato server. Tuttavia, prendendo un qualche script già pronto, tipo quello che hai linkato, non è così complesso buttare giù qualcosa su cui iniziare a ragionare.

    Ti posto una soluzione funzionante da cui puoi prendere spunto.

    Il tutto è composto da quattro file inseriti in una stessa cartella:
    - index.html (la tua pagina html con uno script jQuery/Ajax)
    - contatore.php (il file php che incrementa il valore del contatore)
    - contatore.dat (un file testuale che fungerà da database, in cui sarà registrato il semplice valore del contatore)
    - immagine.jpg (l'immagine cliccabile)

    Crea un file "index.html" e inserisci questo codice:
    codice HTML:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script src="http://code.jquery.com/jquery-latest.min.js"></script>
        <script type="text/javascript">
          $.ajaxSetup({cache:false});
          $(function(){
            $("#contaclick").load("contatore.dat"); // visualizzo il contaclick sulla pagina in base al valore letto dal file dati
            $("#imgclick").click(function(){ // al click sull'immagine
              $("#contaclick").load("contatore.php",function(responseTxt){ // aggiorno il file dati e visualizzo il valore restituito
                if (isNaN(responseTxt)) $(this).html("..."); // se ci sono errori nel valore restituito, visualizzo un testo alternativo 
              });
            });
          })
        </script>
      </head>
      <body>
        <img id="imgclick" src="immagine.jpg" title="Se ti piace clicca su questa immagine" alt="immagine cliccabile">
        <p>Questa immagine è stata cliccata <span id="contaclick">...</span> volte.</p>
      </body>
    </html>
    Il codice è abbastanza semplice. Tieni conto che sto usando jQuery e in particolare il metodo load, che non fa altro che fare una chiamata Ajax. Ho commentato la parte interessata ma se serve "qualche" chiarimento chiedi pure. Ovviamente se non conosci jQuery ti consiglio di iniziare a studiare su qualche guida.

    Per il file php ho utilizzato lo script che tu stessa hai linkato, recuperando e adeguando giusto la parte che legge e aggiorna il valore sul file dati.
    Crea un file "contatore.php" e inserisci questo codice:
    Codice PHP:
    <?php
    // il file dati
    $filedati 'contatore.dat';
    // se non esiste, creo il file dati automaticamente
    if (!file_exists($filedati)) {
        
    $aprifile fopen($filedati,'w');
        
    fwrite($aprifile,'0');
    }
    // leggo e aggiorno il valore sul file dati
    $aprifile fopen($filedati,'r');
    $conta fgets($aprifile);
    $hostvisit $HTTP_SERVER_VARS["HTTP_HOST"];
    if(!
    strstr($HTTP_SERVER_VARS['HTTP_REFERER'], $hostvisit)) {
        
    $conta++;
        
    $aprifile fopen($filedati,'w');
        
    fwrite($aprifile,$conta);
    }
    // restituisco il valore aggiornato
    echo $conta;
    ?>
    In questo caso ho inserito un echo che restituisce il valore appena aggiornato. Servirà per visualizzare direttamente il valore sulla pagina html nel momento in cui viene aggiornato sul file dati, senza doverlo recuperare dallo stesso file dati (vedi la parte jQuery dove c'è load("contatore.php"...)

    Sul file "contatore.dat" puoi scrivere semplicemente il valore 0. Puoi anche non creare questo file perché verrà creato automaticamente dal php se non sarà trovato.

    Infine inserisci un'immagine con nome "immagine.jpg"

    Per concludere:
    Ovviamente questo è solo un semplice esempio, che preso così com'è, presenta diverse carenze.
    Ad esempio non c'è un controllo che identifichi il click per singolo utente. Per cui è possibile cliccare più e più volte sull'immagine, e il contatore si aggiorna comunque. Allo stesso modo, se si apre la pagina php richiamandola direttamente dal browser, il contatore verrà comunque aggiornato.
    Chiaramente è possibile (se non necessario) aggiungere degli ulteriori controlli per rendere il tutto più funzionale. Dipende comunque dalle tue esigenze. Intanto hai qualcosa da cui puoi partire.
    Ultima modifica di KillerWorm; 20-05-2014 a 17:00 Motivo: Aggiornato codice HTML/jQuery
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    32
    ti ringrazio per i suggerimenti, ho fatto come mi hai detto, cartelle e files; intanto ho capito anche come adeguarlo in seguito alla mia tabella ma c'e' un problema: quando visualizzo la pagina alla prima schermata mi scrive correttamente: Questa immagine è stata cliccata 0 volte, se clicco sull'immagine mi mette sempre 0 ma si sposta un po' il testo, si allarga lo spazio tra "cliccata" e "volte", come se effettivamente cambiasse qualcosa, e succede cosi' anche cliccando piu' volte e con accessi diversi, ....stesso risultato. Sto cercando di capire quale possa essere l'errore....
    Ultima modifica di Fari; 20-05-2014 a 18:32

  7. #7
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Nota il commento su questa riga:
    codice:
    if (isNaN(responseTxt)) $(this).html("..."); // se ci sono errori nel valore restituito, visualizzo un testo alternativo
    Il problema è relativo al file contatore.php.

    PHP è un linguaggio lato server per cui in locale è normale che ti dia quel problema (a meno che tu non abbia installato un ambiente di gestione php in localhost).

    Ti darà lo stesso problema se il tuo server non supporta php. Verifica questo.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    32
    ho intuito il motivo per cui faceva l'errore (...). Scusami, nel frattempo ho aggiornato il mio messaggio precedente delle ore 18:32:[".....quando visualizzo la pagina alla prima schermata mi scrive correttamente: Questa immagine è stata cliccata 0 volte, se clicco sull'immagine mi mette sempre 0 ma si sposta un po' il testo, si allarga lo spazio tra "cliccata" e "volte", come se effettivamente cambiasse qualcosa, e succede cosi' anche cliccando piu' volte e con accessi diversi, ....stesso risultato"]......

  9. #9
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Puoi postare il link della tua pagina online?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2014
    Messaggi
    32
    E' una pagina di prova anche se il sito fondamentalmente è tutto online, ci sono molti errori ancora da correggere ma piano piano li aggiusto.... è il mio primo esperimento nel mondo html, non ridete...
    http://www.karindaberto.com/prova/index.html
    ovviamente il cuore rosso per il contaclick lo dovro' spostare e far coincidere con la funzione onclick già programmata di lato....., un passo alla volta...
    Ultima modifica di Fari; 20-05-2014 a 19:35

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.