- Home
- Categorie
- Coding e Sistemistica
- PHP
- banner dei cookie
-
banner dei cookie
Ciao spero che possiate aiutarmi:
Ho creato in html e js un banner per l'uso dei cookie e tutto funziona ma ricompare ad ogni cambio pagina mentre vorrei che una volta cliccato il banner non si visualizzi più.
pensavo di farlo controllando IP del visitatore ma non so come farlo voi avete idee ? Aggiungo che il sito è in WordPress e non voglio usare un plugin.
ciao e grazie
-
Ciao,
dovresti in qualche modo salvare l'informazione su un file (** f****write()** ) o un database, se vuoi legare questa visualizzazione agli utenti. Memorizzando il loro id (se presente un sistema di identificazione) o il loro ip ( $_SERVER['REMOTE_ADDR'] ), e fare un check al caricamento della pagina per vedere se quell'id (o ip) è già passato.
Oppure, se vuoi semplicemente legarla al browser in uso, sfruttare i cookie in questo modo:
[PHP]if(!isset($_COOKIE['nobanner'])) {
$durata = 60 * 60 * 24 * 360 * 10; // 10 anni? Cambialo come vuoi.
setcookie('nobanner', '0', $durata);
echo '<script type="text/javascript" src="banner.js"></script>';
}[/PHP]Al prossimo caricamento il cookie esiste, quindi la stampa a video del banner, all'interno dell'if, non viene più precessato.
-
Si grazie GIGI 991una cosa del genere credo dovrebbe andare bene, ma fammi capire la durata è in secondi?
e poi questo codice va messo nel function.php o all'interno del codice html?
-
Va messo dove richiami il banner. Che io sappia, c'è modo di inserire codice php dal pannello di wordpress, anche se lo sconsigliano per questioni di sicurezza su cui non ho indagato (potrebbe anche significare: non sappiamo come la usate, quindi se scrivete codice vulnerabile diventa vulnerabile tutta l'applicazione).
Non sono troppo esperto, ma il codice che verifica la presenza di banner o lo crea, non dovrebbe creare problemi, in quanto neanche ci importa del valore che contiene il cookie (valore ritoccabile dall'utente), non arriva nessun input esterno.
-
@Gigi991 said:
Al prossimo caricamento il cookie esiste, quindi la stampa a video del banner, all'interno dell'if, non viene più precessato.
Finché continua la navigazione senza rimuoverli mi trovo d'accordo, salvo settaggi che non li accettino mai e ciò lo mostrerà nuovamente.
Altra cosa da tenere in considerazione è che spesso nelle configurazioni del browser si sceglie di cancellarli quando viene chiuso. In tal caso quando avverrà un nuovo accesso al sito riapparirà il banner.Ciao.
-
@MenteLibera said:
Finché continua la navigazione senza rimuoverli mi trovo d'accordo, salvo settaggi che non li accettino mai e ciò lo mostrerà nuovamente.
Altra cosa da tenere in considerazione è che spesso nelle configurazioni del browser si sceglie di cancellarli quando viene chiuso. In tal caso quando avverrà un nuovo accesso al sito riapparirà il banner.Ciao.
Mh, direi la giusta punizione per gli utenti diffidenti.
Si, doverose precisazioni.
Meglio con l'ip (anche se non precisissimo) o l'id, ma dipende sempre da come ha organizzato la piattaforma.
-
@Gigi991 said:
Mh, direi la giusta punizione per gli utenti diffidenti.
Concordo con il tuo punto di vista
Penso che un altro approccio per affrontare il problema è lavorare le sessioni, pur riconoscendo che implicitamente si ripresenta il cookie di sessione e potenzialmente tornerebbero le criticità che ho espresso prima del caso negativo