+ Rispondi alla Discussione
Risultati da 1 a 5 di 5

Click counter per più bottoni nella stessa pagine

Ultimo Messaggio di Cosina il:
  1. #1
    User L'avatar di Cosina
    Data Registrazione
    Dec 2016
    Località
    Lugano
    Messaggi
    39
    Segui Cosina su Twitter Aggiungi Cosina su Facebook Aggiungi Cosina su Linkedin Visita il canale Youtube di Cosina

    Click counter per più bottoni nella stessa pagine

    Buongiorno a tutti. Ho questo semplice click counter che funziona benissimo, ma vorrei poter aggiungere più elementi cliccabili nella medesima pagina con archivio nello stesso file txt. Inoltre, il totale dei click scompare se si aggiorna la pagina, mentre vorrei che restasse sempre presente. È possibile? Potete aiutarmi? Grazie mille

    La fonte da cui ho preso il codice è questa: https://www.opentechguides.com/how-t...k-counter.html

    Codice HTML:
    <a href = "https://www.xxxxxxxxxx.com" target="_blank" data-pageref-id="pageA1234" onClick="onClick(this)">LinkA</a> - Clicks: <div class="display: inline" id="clicks"></div>
    
    <script>
        function onClick(e) {
            var id = e.getAttribute('data-pageref-id');
        var post = 'id='+id;
        var req = new XMLHttpRequest();
        req.open('POST', 'click-counter.php', true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        req.onreadystatechange = function(){
                if (req.readyState !== 4 || req.status !== 200) return;
                document.getElementById("clicks").innerHTML = req.responseText;
         };
        req.send(post);
     };
    </script>
    Codice PHP:
    <?php

    //Set path to the text file that stores counts
    $file 'click-counter.txt';

    //Open the file in read write mode
    $fh fopen($file'r+');

    //Assign the page referene posted from page to a variable
    $id $_REQUEST['id'];

    //Initialize lines variable
    $lines '';

    //Repeat until end of file
    while(!feof($fh)){

        
    //Split the line using comma delimiter
        
    $row explode(','fgets($fh));
        
    $pageref trim($row[0]);
        
    $count trim($row[1]);
        if(!empty(
    $pageref)){
            if(
    $pageref == $id){
             
    //Increment count
              
    $count++;
              echo 
    $count;
            }
          
           
    //Append new line to text file
            
    $lines .= "$pageref,$count\r\n";
        }
     }
     
     
    file_put_contents($file$lines);
     
    fclose($fh);
     
     
    ?>
    Nel file click-counter.txt:
    pageA1234,0
    pageB5678,0

  2. #2
    Utente Premium
    Data Registrazione
    Nov 2018
    Località
    Ragusa
    Messaggi
    218
    Aggiungi flaviors200 su Google+ Aggiungi flaviors200 su Facebook Aggiungi flaviors200 su Linkedin
    Ciao,

    quando usi fopen apri il file in modalità "a+"

    Quindi usa la funzione fwrite per aggiungere una stringa

    Es.

    Codice PHP:
    <?php
    $filename 
    'file.txt';
    $handler fopen($filename'a+');
    fwrite($handler"Stringa di test");
    fclose($handler);
    Sviluppo siti web dinamici e gestionali | Flaviobiscaldi.it

  3. #3
    User L'avatar di Cosina
    Data Registrazione
    Dec 2016
    Località
    Lugano
    Messaggi
    39
    Segui Cosina su Twitter Aggiungi Cosina su Facebook Aggiungi Cosina su Linkedin Visita il canale Youtube di Cosina
    Grazie mille, provo, ma se fosse possibile una risposta più esaustiva direttamente nel codice postato, mi sarebbe di maggior aiuto.
    Ultima modifica di Cosina; 29-10-19 alle 11:23

  4. #4
    Utente Premium
    Data Registrazione
    Nov 2018
    Località
    Ragusa
    Messaggi
    218
    Aggiungi flaviors200 su Google+ Aggiungi flaviors200 su Facebook Aggiungi flaviors200 su Linkedin
    Scusa non avevo letto bene quello che chiedevi, ignora il mio ultimo messaggio.

    Il codice del link funziona.

    Va messo solamente un controllo

    Al posto di questa riga

    Codice PHP:
    $count trim($row[1]); 
    metti

    Codice PHP:
    $count = isset($row[1]) ? trim($row[1]) : '0'
    Come mai il totale dei clic scompare se si aggiorna la pagina?

    Se vuoi aggiungere ulteriori valori puoi farlo direttamente nel file dopo l'ultimo valore

    pageA1234,12
    pageB5678,5
    nuovovalore,0
    Sviluppo siti web dinamici e gestionali | Flaviobiscaldi.it

  5. #5
    User L'avatar di Cosina
    Data Registrazione
    Dec 2016
    Località
    Lugano
    Messaggi
    39
    Segui Cosina su Twitter Aggiungi Cosina su Facebook Aggiungi Cosina su Linkedin Visita il canale Youtube di Cosina
    Grazie e scusa se tardo a rispondere, ma non mi arrivano le notifiche dei nuovi messaggi, anche se le ho impostate. Non so perche` il totale scompare quando si aggiorna la pagina, ma cosi` e`. Intanto provo la soluzione che mi hai mandato. Buon pomeriggio e grazie ancora

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.