- Home
- Categorie
- Coding e Sistemistica
- PHP
- Setcookie
-
Setcookie
Ciao
Qualcuno sa spiegarmi perchè non riesco a far funzionare il setcookie()?E come se non me lo salvasse.
Help:bho:
-
un po' scarsine le informazioni che ci hai dato
potrebbero essere molte cose, dipende, stai parlando di un webserver da qualche parte o di un ambiente di sviluppo tuo in locale?
e qual'è il codice che hai usato per le impostazioni del cookie?
-
Lo sto provando in locale
ecco il codice che ho utilizzato:setcookie("nome","$data->id@$data->valore");
dove $data->id e $data->valore gli ottengo da una query.
-
Ciao vulcan,
probabilmente il gestore del server ha disabilitato l'uso dei cookies agendo sul file di configurazione "php.ini".
-
Sto usando il wampserver in locale
-
Dove hai messo la funzione? La funzione set cookie devono essere messa prima di qualsiasi codice php o html.
-
L'ho messa all'interno di un ciclo per ottenere dei dati da una query,ma ho visto questo codice funzionare ed è scritto allo stesso modo.
No riesco a capire perchè a me non va
-
Può essere un'errata configurazione del php.ini e se è si cosa devo settare?
-
Prova a settare session.use_cookies a 1 (se è a 0)
ciao!
-
session.use_cookies è già a 1.
-
che versioni stai usando di PHP ?
io ho avuto parecchi problemi nel settare per bene il PHP all'inizio, ogni volta problemi di sessione e cookies, oltre a vari bugs nella configurazione in ambiente windows, c'è da verificare un po' di cose. Confermo quindi che il problema sta soprattutto nel PHP.INI, controlla anche che la cartella temporanea in cui salva i files di sessione sia configurata per benino.
io uso queste impostazioni su PHP 4
session.save_handler = files
session.save_path = "c:/php/tmpsess"
session.use_cookies = 1
session.use_only_cookies = 0
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0
session.entropy_file =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0la maggior parte sono tutti valori di default, non li ho cambiati, ricordati poi di fare il session_start() all'inizio dello script
io poi uso il cookie per salvare le informazioni di login in questo modo:
setCookie($miocookienomeut,$nomeutente, time()+30240000,"/",false);
setCookie($miocookiepassword,$utentepwd, time()+30240000,"/",false);
setCookie("expiretime",time()+(60*$Cookie_Length),time()+30240000,"/",false);$Cookie_Lenght è una variabile impostata dall'utente alla login che indica quanto vuole tenere aperta la sessione, 1 ora, 1 giorno, 1 mese, per sempre ecc..
se sceglie "per sempre" in realtà la setto a durata 1 anno:
$Cookie_Length = 525600;è il numero di minuti in un anno: 6024365
poi nella setcookie viene moltiplicato per ottenere il numero di secondi.
a me funziona tutto regolarmente, con il PHP5 invece ho avuto un po' di problemini per via di altre cose che riguardavano più che altro le variabili globali e gli arrays delle variabili di sistema utilizzate, insomma lo stesso scritp portato da php4 a php5 non mi funzionava.