Merhaba,
Öncelikle kodlarınızda bazı mantık hataları var. En basitinden
var gunler = 4;
if (gunler) {
şuna bakabilirsiniz.Yukarıda gunler tanımlanmış, her zaman if'e girer.
İkincisi expires 4gün yapılmış. siz eğer 30dakika istiyorsanız (kodlarınızın bazı kısımlarının doğru olduğunu varsayıyorum)
date.setTime(date.getTime()+(30*60*1000));
şu şekilde 30 dakika eklemeniz gerekir.
Ayrıca createCookie kullanmışsınız fakat içeriğini bilmiyoruz. Sözkonusu cookie'ye müdahale ediyor olabilir mi?
Cookie'lerin tamamını silerek sitenize tekrar girin. Daha sonra firefox kullanıyorsanız sağ tuştaki site bilgilerini göstere girerek oradan gizlilik içerisinden view cookies'e basın ve ilgili cookie'ye çift tıklayarak süresine bir bakın.
Size kısmen yol gösterir.
Kolaylıklar.