Setarea cookie-urilor în WordPress

cookie

(mrapi) #1

Salut
nu am experienta in lucru cu wordpress/php de aceea va cer ajutor cu o problema:
la un site wordpress,intr-o pagina anume incerc sa generez sau sa sterg 2 cookie-uri prin url,
ceva de genu www.mysite.ro/pagina-1/?val1=1&val2=1
in acest caz voi crea cele 2 cookie-uri
sau
www.mysite.ro/pagina-1/?val1=0&val2=0
le voi sterge

am in functions.php codul:

<?php


add_action( 'init', function(){
   
   $my_ck='_ck1';
if (isset($_GET['val1']) ){
	setcookie($my_ck, "true", time() + ($_GET['val1']==0 ? -1 : 1)*(86400*30), "/pagina-1");
	
}

$my_ck='_ck2';
if (isset($_GET['val2']) ){
	   setcookie($my_ck, "true", time() +($_GET['val2']==0 ? -1 : 1)* (86400*30), "/pagina-1");

	   }
   }
 );

codul de mai sus uneori merge,altori nu,verific cu Firefox dev tools,vad cele 2 cookie-uri,le sterg manual,dau refresh…Ctrl+F5,sterg cache…nimic
cand si cand reusesc sa le generez sau se le sterg

Unde gresesc?
multumesc


(Ionuț Staicu) #2

În WP, setezi cookie-ul în felul următor:

$expire = 30 * DAYS_IN_SECONDS;
setcookie('cookie_name', 'cookie_value', $expire, COOKIEPATH, COOKIE_DOMAIN, 1);

Mie mi-a cam făcut probleme orice combinație ce nu includea cei trei parametri finali.


(mrapi) #3

Multumesc pt raspuns,am gasit o posibila problema
wordpress imi adauga un slash in link inainte de variabile,caz in care isset($_GET[‘val1’]) returneaza false:

…/pagina-1/ ?val1=1&val2=1
…/pagina-1 ?val1=1&val2=1


(István F.) #4

Cred ca este destul de relevant :
https://www.owasp.org/index.php/Top_10_2013-Top_10

Seteaza sesiuni sau token-uri, nu cookie-uri.


(mrapi) #5

Am ceva simplu de facut:pe pagina respectiva exista un mic continut ascuns.Linkul va fi trimis pe mail anumitor persoane care cu ajutorul cookie-urilor create vor vedea acel continut (exista si un cod js pt asta).nu este nevoie de inregistrare utilizatori.Cred ca cel mai ok este asa
ms