Cookies

  • Creatore Discussione Creatore Discussione borgal
  • Data di inizio Data di inizio

borgal

Nuovo Utente
14 Giu 2005
3
0
0
Ciao mi chiamo Alessio,
sono nuovo del forum.
Uso PHP in ufficio per creare servizi web.
A tal proposito vi chiedo lumi.
Ho messo su un servizio web rispondente all'indirizzo, ad esempio, 127.0.0.1.
Questa parte di servizio permette agli utenti il login e pone sul PC un cookies ( Alessio@127.0.0.1 ).
In una cartella utils del servizio base, vi sono alcune funzionalità di amministrazione. Anche queste hanno la loro provedura che mette giù il cookies non appena si esegue un login (Alessio@utils...).
Ora, il mio problema e' :
entro nel servizio base con la mia login, lo uso, apro una seconda finestra di ie e mi loggo nei servizi amministrativi.
Viene posto il secondo cookies (un file diverso dal primo).
A questo punto se chiedo di fare qualcosa con il servizio base mi ritrovo automaticamente nella pagina per rifare il login.
E' come se il secondo cookies eliminasse il primo.
La procedura che pone i cookie è la stessa ma sdoppiata su entrambi i livelli del servizio.
Ho notato che per poter riutilizzare la prima parte di servizio devo cancellare i cookies in questione a mano.
Il disservizio non cambia facendo il login in ordine inverso, ovvero: se entro nell'amministrazione e poi nel servizio base, non mi funziona piu' l'amministrazione.
Qualcuno può aiutarmi ?

Grazie.
 
$gest = fopen ("./Log/login.log","a");
if (($login == "" or $password == "") and $usrcod == "") {
setcookie("usrcod", "", time() - 3600);
setcookie("session", "", time() - 3600);
if ($invia == "Login") {echo "<br><br><center><font color=red>Inserire Login e Password!</font></center><br>";}
return false;
exit;
}
$link=mysql_connect ($mysql_ip, $mysql_user, $mysql_pwd);
fwrite($gest,date("d-m-Y, H:i:s")."\n Login: $login \n Password: $password \n codice utente: $usrcod \n Valore del collegamento : $link
\n Login mysql: $mysql_user \n password mysql : $mysql_pwd\n\n\n");

# QUERY AL DB.
if ($value = mysql_fetch_array($result)) {
$usrcod = $value["codice"];
setcookie("usrcod","",time() - 3600);
setcookie("session","",time() - 3600);
if (!setcookie("usrcod","$usrcod",time() + 3600)) {
echo "<br><br><center><font color=red>Impossibile registrare il cookie.<br>Controllare le impostazioni del browser";
exit;
}
if ($module == "") {$session = mt_rand(1,999);}
setcookie("usrid",$usrcod,time() + 3600);
setcookie("session",$session,time() + 3600);
mysql_free_result($result);
return $usrcod;

}
else {
setcookie("usrcod", "", time() - 3600);
setcookie("usrid","",time() - 3600);
setcookie("session","",time() - 3600);
echo "<br><br><center><font color=red>Login o Password errata!</font></center><br>";
$usrid = "";
return 0;}
fclose($gest);



La scrittura su file l'avevo messa per controllare quello che succedeva. Ho avuto un problema con l'orario del PC che riceveva il cookie ( lo riceveva gia' scaduto ).
Entrambi i livelli usano questa funzione che e' duplicata su entrambi i livelli del servizio.
 

Discussioni simili