Salve,
Stavo studiando i cookie, e quale miglior modo per vedere se si è appreso se non facendo qualche esercizio?

Bene al primo esercizio primo problema.
l'esercizio richiedeva di scrivere un programmino che consentisse di selezionare delle caratteristiche di formattazione del testo e di fare in modo che l'utente possa salvare tale confiurazione se lo desiderasse per poterla riutilizzare in un imminiente futuro.
Allora io ho fatto così:

Pagina che ho chiamato format_testo.php:

Codice PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Formattazione testo (colore, carattere, dimensione)</title> 
</head>  
<body> 
<?php //Controlla se vi è giaà un ipmpostazione salvata in precedenza sui cookie e chiede se la si vuole riutilizzare. 
if (isset ($_COOKIE['font'])){     echo ' Hai già la seguente configurazione salvata: ';
     echo 
'
'
;
     echo 
'Carattere: ' $_COOKIE['font'];
     echo 
'
'
;
     echo 
'Dimensione: ' $_COOKIE['dimensione'];
     echo 
'
'
;
     echo 
'Colore: ' $_COOKIE['colore'];
     echo 
'
'
;
     echo 
'Se vuoi utilizzare questa configurazione in memoria ' '[url="format_testo_elabora.php?riciclo=si"] clicca qui[/url]';
     echo 
'
'
;
     echo 
' Altrimenti puoi tranquillamente continuare riformulando una nuova configurazione.';     } 
?> 
Da qui è possibile impostare la formattazione del testo: 

 
<form action="format_testo_elabora.php" method="get"> 


 
Seleziona il colore del testo: 

 
<select name="colore" id="colore">
   <option value="#F00">rosso</option>
   <option value="#0000FF">blu</option>
   <option value="#000000">nero</option>
   <option value="#FFFF00">giallo</option>
 </select>
 
 
Seleziona il carattere da attribuire al testo:
 

 <select name="font" id="font">
   <option value="Arial">Arial</option>
   <option value="Verdana">Verdana</option>
   <option value="Georgia">Georgia</option>
 </select>
 

 Seleziona la dimensione in px che intendi attribbuire al testo:
 

 <select name="dimensione" id="dimensione">
   <option value="8px">8px</option>
   <option value="10px">10px</option>
   <option value="12px">12px</option>
   <option value="24px">24px</option>
   <option value="32px">32px</option>
   <option value="48px">48px</option>
 </select>
 

 Inserisci ora il testo:
 

 <textarea name="testo" rows="5"></textarea>
 

 

 Desideri salvare le impostazioni :
  

 Si: <input name="salva" type="radio" value="si" />
 No: <input name="salva" type="radio" value="no" />
 

 

 <input type="submit" name="submit" value="Formatta Testo" />
 </p>
  </form>
 </body>
 </html>
Per aiutarvi ad aiutarmi aggiungo il link alla pagina: Link_1



Pagina che ho chiamato format_testo_elabora.php (Lo so la mia fantasia non ha limiti ):


Codice PHP:
<?php 
//salva se è richiesto le impostazioni sui cookie per poterle riutilizzare
 
if ($_GET['salva'] == 'si'){
     
setcookie ('font',$_GET['font']. time()+60);
     
setcookie ('dimensione',$_GET['dimensione']. time()+60);
     
setcookie ('colore',$_GET['colore']. time()+60);
     
setcookie ('testo',$_GET['testo']. time()+60);
     echo 
'Riepilogo configurazione salvata: ';
     echo 
'
'
;
     echo 
'Carattere: ' $_COOKIE['font'];
     echo 
'
'
;
     echo 
'Dimensione: ' $_COOKIE['dimensione'];
     echo 
'
'
;
     echo 
'Colore: ' $_COOKIE['colore'];
     echo 
'
'
;
     } 
?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title>Presentazione testo formattato</title>
    <style type="text/css">
 #testo {
     <?php if ($_GET['riciclo'] == 'si'){
     echo 
'color: ' $_COOKIE['colore'] . ';';
 if (
$_COOKIE['font'] == 'Verdana'){
      echo 
'font-family: Verdana, Geneva, sans-serif;';
 }else if (
$_COOKIE['font'] == 'Arial'){
      echo 
'font-family: Arial, Helvetica, sans-serif;';
 }else if (
$_COOKIE['font'] == 'Georgia'){     
echo 
'font-family: Georgia, "Times New Roman", Times, serif;'

echo 
'font-size: '$_COOKIE['dimensione'] . ';';
      }else{
                    echo 
'color: ' $_GET['colore'] . ';';
         if (
$_GET['font'] == 'Verdana'){
              echo 
'font-family: Verdana, Geneva, sans-serif;';
         }else if (
$_GET['font'] == 'Arial'){
              echo 
'font-family: Arial, Helvetica, sans-serif;';
         }else if (
$_GET['font'] == 'Georgia'){
              echo 
'font-family: Georgia, "Times New Roman", Times, serif;';
         }
         echo 
'font-size: '$_GET['dimensione'] . ';';
      }
 
?>
 }
 </style>
 </head>
  <body>
 

 Valori rilevati: 


 <?php
 
if ($_GET['riciclo'] == 'si'){
     echo 
'Riciclo: ' $_GET['riciclo'];
     echo 
'
'
;
     echo 
'Colore: '$_COOKIE['colore'];
     echo 
'
'
;
     echo 
'Carattere: '$_COOKIE['font'];
     echo 
'
'
;
     echo 
'Dimensione: '$_COOKIE['dimensione'];
     echo 
'
'
;
  }else{
      echo 
'Colore: '$_GET['colore'];
 echo 
'
'
; echo 'Carattere: '$_GET['font'];
 echo 
'
'
;
 echo 
'Dimensione: '$_GET['dimensione'];
 echo 
'
'

 }
 
?>
 </p>
 <p id="testo">
 <?php 
if ($_GET['riciclo'] == 'si'){
     echo 
$_COOKIE['testo'];
 }else{ 
echo 
$_GET['testo'];
 } 
?> 
</p> 
</body> 
</html>
Per aiutarvi ad aiutarmi aggiungo il link alla pagina: Link_2


Ora chi ha la pazienza di provarli noterà che i cookie salvano dei valori ma che sono totalmente fuori rispetto a quello che si è voluto salvare.. Qualcuno sa il perchè?

Ringrazio anticipatamente quanti vogliano aiutarmi a chiarire le idee..!


N.B.: In pratica per capire il problema dovreste andare al link 1 selezionare delle opzioni che desiderate spuntare salva impostazioni e cliccare su formatta testo, dopo di che tornare al link_1 e cliccare alla voce "Se vuoi utilizzare questa configurazione in memoria clicca qui", così potrete vedere come i valori di cookie salvati sono completamente sballati..!!