- Home
- Categorie
- Coding e Sistemistica
- Coding
- Codice che riconosce il proprio pc
-
Codice che riconosce il proprio pc
Ciao,
purtroppo non è possibile farlo.
-
@Apthu:
Il mio scopo è che quando visito io stesso una pagina del mio sito, il contavisite non deve salire
Non è necessario il mac... Io stesso utilizzo Google Analytics per ottenere dati sulle visite del mio sito (visitatori in tempo reale e non, etc.) e ovviamente anche io ho esigenza di escludere le mie visite.
E' sufficiente creare un semplice cookie (con data di scadenza molto distante... tipo l'anno prossimo). In questo modo le visite dal tuo browser verranno escluse dalle statistiche.
Trovi tantissime guide su google.Detto questo, non sapendo quale servizio di statistiche/contatori usi, bisogna vedere se questo discorso è applicabile a quello che vuoi realizzare.
Comunque credo proprio che (indipendentemente dal servizio che usi e dalla tua specifica situazione) la strada che dovrai seguire sia quella dei cookies.
Saluti
-
Comunque l'ip è dinamico, non so se funziona il cookie.
E' proprio questo il vantaggio dei cookie.. Non importa se cambia l'indirizzo ip (ad es. per riavvio del router) perchè nel momento in cui utilizzi il browser nel quale hai salvato il cookie la tua visita viene esclusa.
Nel prossimo post provo ad inserire un esempio concreto.
-
a) Crea una pagina php per salvare il cookie nel tuo browser (chiamiamola cookie.php)
Basta 1 sola riga di codice php. Vedi funzione setcookie() su w3schools
[PHP]
<?php$value = "my cookie value";
// send a cookie that expires in 24 hours
setcookie("TestCookie",$value, time()+3600*24);?>
[/PHP]b) Carica cookie.php sul web e visitala con il tuo browser
c) Nelle pagine del tuo sito racchiudi il codice del contavisite in una condizione if che verifica la presenza del cookie:
[PHP]
if(empty($_COOKIE["nome_cookie"]))
{
//aggiorno il database
}
[/PHP]Dovrebbe essere abb semplice. In bocca al lupo!!
-
Io ho molte pagine, dove va messo il cookie?
Vedi esempio sopra.
Il cookie NON va messo in nessuna delle pagine del tuo sito. Devi creare una nuova pagina php dove inserire il codice che crea il cookie.
E' una pagina che ti servirà solo una volta. Infatti al momento della tua prima visita su quella pagina il browser salva il cookie nella sua memoria. Dopodichè puoi anche cancellare tale pagina.L'unica modifica che devi fare alle pagine del tuo sito è inserire la condizione if come illustrato sopra.
-
I cookie sono delle informazioni che vengono trattenute dal browser. Un esempio classico è la funzione "Ricordami" che trovi nella maggior parte dei form di login!!
Come accennato sopra, i cookie hanno una scadenza (che si può impostare arbitrariamente).
Se nella funzione setcookie() NON imposti nessuna scadenza, essa coinciderà con la chiusura del browser (e ogni volta dovrai di nuovo rivisitare la pagina del cookie per rigenerarlo!!).
Se invece imposti l'anno prossimo come scadenza, puoi eliminare la pagina con il cookie e sarai a posto per 1 anno intero!! Ogni volta che visiti il tuo sito, verrai escluso dal contatore!!
Tutto chiaro?
-
Aspetta.. Forse hai mancato il mio ultimo messaggio perchè abbiamo scritto insieme!!
L'hai visto?
Il pezzo di codice che inizia con $value devi metterlo in una nuova pagina... dove non c'è nient'altro!! Crea una nuova pagina e copia/incolla il seguente codice alla lettera!!
Pagina "miocookie.php"
[PHP]
<?php$value = "a95er63s";
// set a cookie that expires in 1 year
setcookie("contavisite",$value, time()+360024365);?>
[/PHP]Ovvimente il valore di $value può essere un sequenza qualsiasi.
-
Ora carica "miocookie.php" sul web e visita 1 volta quella pagina.
Complimenti: a questo punto hai salvato con successo il cookie nel tuo browser!!!
-
Infine:
racchiudi il codice della funzione che aggiorna il database all'interno di questa funzione if:
[PHP]
if($_COOKIE["contavisite"]!=='a95er63s')
{
//script della funzione
}
[/PHP]Fine!!
-
Segui alla LETTERA i miei ultimi 3 messaggi... non dovrebbe servire altro!!
Attenzione:*** RIBADISCO CHE IL CODICE DEL COOKIE NON DEVI METTERLO NELLO STESSO FILE DELLE FUNZIONI MA IN UNA PAGINA A PARTE... ALTRIMENTI OTTIENI L'EFFETTO CONTRARIO E TUTTI I VISITATORI VENGONO ESCLUSI!!!!!***
P.s.
Mi sembra che nel codice che aggiorna il database ci siano degli errori (parentesi dimenticate)
-
Il codice sta facendo esattamente quello che dovrebbe fare... sta funzionando!!
E' semplice: hai messo la stringa include("cookie.php");
NON dovevi metterla.
Leggi il mio ultimo messaggio: è scritto in grassetto e sottolineato!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!:?
-
Non è necessario... puoi eliminare il cookie ***svuotando la cache del browser ***(suppongo tu sappia come si fa.. è simile ad eliminare la cronologia).
A questo punto sarai di nuovo un utente "normale" ed il contavisite aumenterà.Per essere escluso basta che visiti di nuovo la pagina cookie.php --> che ti salva il cookie nella memoria del browser ---> che ti fa escludere dal contavisite.
Tutto chiaro?
P.s. In questo modo puoi fare tutti i test che desideri in totale autonomia.