PDA

View Full Version : [PHP] Problema con Cookie


qwerty86
12-11-2007, 19:47
Salve a tutti, il mio problema è che credo di settare e utilizzare un cookie in modo corretto ma non ottengo l'effetto desiderato, mi spiego meglio. Per capire il funzionamento dei cookie stavo semplicemente settando un cookie che ha come valore il nome di un colore , il cookie verrà quindi usato per far si che le pagine che richiamano quel cookie abbiano lo sfondo di quel colore.

Ecco lo script che setta il cookie . File : set-cookie.php

<?php
$colors = array('nero' => '#000000', 'bianco'=> '#ffffff');
setcookie('bg' , $colors['nero']);?>


questo invece è il codice della pagina che utilizza il cookie. File : cookie.php

<html>
<head><title> Prova Cookie </title> </head>
<body bgcolor="<?= $bg ?>" >
<center> <h1> Test </h1> </center>
</body>
</html>


ora se dal browser lancio set-cookie.php dal plug-in di firefox, webdeveloper visualizzo il cookie correttamente , ma se poi accedo alla pagina cookie.php mi compare solo la scritta test e lo sfondo è sempre bianco.

Non capisco proprio dove sbaglio , sulle slide del prof è questo il procedimento. :mc:

anonimizzato
12-11-2007, 20:27
Per richiamare il valore di un cookie devi (se non hai la direttiva register_globals su ON) usare l'array superglobale $_COOKIE.

Nel tuo caso $_COOKIE['bg']

;)

qwerty86
12-11-2007, 20:33
Per richiamare il valore di un cookie devi (se non hai la direttiva register_globals su ON) usare l'array superglobale $_COOKIE.

Nel tuo caso $_COOKIE['bg']

;)


Grazie me ne ero proprio dimenticato! Ma quindi nel caso register_globals è su ON posso anche non usare $_COOKIE?

anonimizzato
12-11-2007, 20:58
Grazie me ne ero proprio dimenticato! Ma quindi nel caso register_globals è su ON posso anche non usare $_COOKIE?

Esatto, ma per motivi di sicurezza è decisamente sconsigliabile attivare register_globals, tanto vale (visto che è semplice) affidarsi ai vari array superglobali ($_COOKIE, $_SESSION,$_GET,$_POST ecc.)

qwerty86
12-11-2007, 21:09
Esatto, ma per motivi di sicurezza è decisamente sconsigliabile attivare register_globals, tanto vale (visto che è semplice) affidarsi ai vari array superglobali ($_COOKIE, $_SESSION,$_GET,$_POST ecc.)

Si infatti! Ho appena fatto un test ! Ma ora rimetto in off register_globals. Grazie della rapidità nelle risposte! :)