conta click in javascipt

  • Creatore Discussione Creatore Discussione Paolo87
  • Data di inizio Data di inizio

Paolo87

Nuovo Utente
25 Ago 2013
9
0
0
Ciao a tutti
avrei bisogno di un consiglio
questo script

HTML:
<SCRIPT LANGUAGE="JavaScript">
<!--
	var cookiec = document.cookie
	if (cookiec != "") {
		var eqchr = 0;
		for (var cloop = 1; cloop <= cookiec.length; cloop++) {
			if (cookiec.charAt(cloop) == "=") {
				eqchr=(++cloop);
			}
		}
		var cookiess = 0;
		clength=cookiec.length;
		cookies="";
		for (cloop = eqchr; cloop < clength; cloop++) {
			if (cookiec==";") {
				cloop=clength;
			}
			else {
				cookies = cookies + cookiec.charAt(cloop);			
			}
		}
		cookiess = parseInt(cookies);
		document.write("[" + cookiess + "]");
		cookiess++;
		cookies = cookiess;
		var one_week = 7 * 24 * 60 * 60 * 1000;
		var expDate = new Date();
		expDate.setTime(expDate.getTime() + one_week);
		document.cookie = "Counter=" + escape(cookies) + "; expires=" + expDate.toGMTString();
	}	
	else {
		var one_week = 7 * 24 * 60 * 60 * 1000;
		var expDate = new Date();
		expDate.setTime(expDate.getTime() + one_week);
 		document.cookie = "Counter=2; expires=" + expDate.toGMTString();
		document.write("[1]");
	}
	
// -->
</SCRIPT> Visite <font color="#000000"> <BR>

aggiorna il numero di vote che si aggiorna una pagina
come posso associarlo ad un link o button in modo da poter far visualizzare il numero di volte che viene scaricato un file?
grazie in anticipo.
 
Ultima modifica di un moderatore:
Ciao, si puo fare la stessa cosa con meno righe di codice
HTML:
Visite [<span id="conta"></span>]
<script type="text/javascript">
    if(localStorage.conta) {
        localStorage.conta++;
    }else{
        localStorage.conta = 1;
    }
    document.getElementById("conta").innerHTML = localStorage.conta;    
</script>
in ogni caso ti perderesti il conteggio ogni volta che la cache del browser si aggiorna
ti conviene usare ajax e un linguaggio dinamico
 
Grazie per la risposta
Qualcosa del genere potrebbe andare?
http://forum.mrwebmaster.it/php/31468-link-get-refresh.html#post118964
Ovviamente deve funzionare senza database
 
Se hai il supporto di php si va bene come tecnica, quell'esempio l'ho scritto per un solo bottone ma modificandolo leggermente si puo adattare a più pulsanti o link
 
Il file l'hai txt creato? l'hai messo nella stessa cartella del file php?
forse devi dare i permessi di lettura e scrittura alla cartella che contiene il file
 
no scusami non avevo letto bene e da un giorno che cerco..
nn ho il database.
ma con un semplice file di testo non si potrebbe fare qualcosa?
 
non serve il database
crea un file php e incolla questo
PHP:
<?php
$file = "contatore.txt";
$fr = fopen($file, 'r') or die("Impossibile aprire il file in lettura!");
$contatore = (int) fgets($fr) + 1;
// aggiorniamo il contatore
$fr = fopen($file, 'w') or die("Impossibile aprire il file in scrittura!");
fwrite($fr, $contatore);
fclose($fr);

echo $contatore;
?>
crea il file contatore.txt nella stessa cartella e richiama il file php nel browser
s continua a darti errore in scrittura è un problema di permessi sul file
 
allo non ci sto a capi piu nient..!

1 - contatore.txt

-----------------

2 - mipiace.php
PHP:
<?php
$file = "contatore.txt";
$fr = fopen($file, 'r') or die("Impossibile aprire il file in lettura!");
$contatore = (int) fgets($fr);
fclose($fr);
?>
<!DOCTYPE html >

<html>
    <head>
        <title>Mi piace</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script src="http://code.jquery.com/jquery-latest.js"></script>
        <style>
            #mipiace {
                width:80px;
                background-color: #EEEEF0;
                border:1px solid #D5DAE0;
                color:#606672;
                cursor:pointer;
                padding:2px;
                font-family: Verdana;
                font-size: .8em;
            }
        </style>
    </head>
    <body>
        <div id="mipiace"><span id='contatore'><?php echo $contatore ?></span> Mi piace</div>
    </body>
    <script type="text/javascript">                                                                                                                                    
        $('#mipiace').click(function() {
            $('#mipiace').disabled = true;               
            $.ajax({    
                type: "GET",  
                url: "updatemipiace.php",  
                success: function(response){
                    $("#contatore").html(response);
                    $('#mipiace').disabled = false;
                } 
            });
        });
    </script>
</html>
------------------------------

3 - updatemipiace.php
PHP:
<?php
$file = "contatore.txt";
$fr = fopen($file, 'r') or die("Impossibile aprire il file in lettura!");
$contatore = (int) fgets($fr) + 1;
// aggiorniamo il contatore
$fr = fopen($file, 'w') or die("Impossibile aprire il file in scrittura!");
fwrite($fr, $contatore);
fclose($fr);

echo $contatore;
?>

--------------------------------
i permessi su contatore non me li fa dare
ufff....!
 
Ultima modifica di un moderatore:
nel file contatore scrivici 0
se sei su aruba ci vuole un po per vedere le modifiche ai permessi
 
altro codice diciamo che potrebbe andare
il problema ?? semplice non aggiorna il contatore

1- prova.txt
-------------------------

2 - getfile.php
<?php
//estensione dei file da scaricare
$ext = ".zip";

//nome directory con i file di testo, compreso lo slash / finale
$counterdir = "/prova.txt";

//controllo che nell'url ci sia il nome del file da scaricare,
if(isset($_GET['name']) && trim($_GET['name'])) {

//se il file richiesto esiste, avviene il download
if (file_exists("$_GET[name]$ext")) {

header("Location: $_GET[name]$ext");

//apro il file .txt relativo al download richiesto e lo incremento di 1
$file = @fopen("$counterdir/$_GET[name].txt","r");
$count = @fread($file, 100);
$countplus = ($count + 1);
@fclose($file);
$fileb = @fopen("$counterdir/$_GET[name].txt","w");
@fwrite($fileb, $countplus, 100);
@fclose($fileb);

//altrimenti, se il file richiesto non esiste, parte l'email di avviso al webmaster e stampo un messaggio di errore
} else {

$_GET['name'] = str_replace(">", "&gt;", $_GET['name']);
$_GET['name'] = str_replace("<", "&lt;", $_GET['name']);

$today = date("j F Y G:i");
$user_ip = "$_SERVER[REMOTE_ADDR]";
$to = "tuaemail@tuosito.xx";
$subject = "Download non trovato";

$body = "$user_ip il giorno $today non ha trovato il file $_GET[name]$ext";

@mail("$to","$subject","$body");

echo "Il file $_GET[name]$ext non &egrave; disponibile per il download.<br>
Riprova pi&ugrave; tardi.";

}

//altrimenti, se il nome del file non è passato via get, redirect alla pagina principale
} else {
header("Location: index.php");
}
?>

---------------------------------------

3 - index.php
<html>
<head>
</head>
<body>
<div align="center">
<p>&nbsp;</p>
<a href="getfile.php?<?php echo "name=prova"; ?>">Scarica Prova.zip</a> (download <?php @include("prova.txt"); ?>, size <?php
$dim = @filesize ("/prova.zip") / 1024;
$dim = round($dim);
echo "$dim KB";
?>)</div>
</body>
</html>

qualcun che riesce ha trova il problema??
grazie in anticipo
 

Discussioni simili