Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [HELP] Inceppo esercizio sui COOKIE

    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..!!

  2. #2
    chiarisci l'espressione "totalmente fuori" e "completamente sballati".
    Cosa stampano a video?

  3. #3
    valori del tipo:
    codice:
    Riepilogo configurazione salvata: Carattere: 60 Dimensione: 72 Colore: 60
    Quando invece dovrebbe essere:
    codice:
    Colore: #000000 Carattere: Georgia Dimensione: 12px

  4. #4
    comicia a identare il testo, non è molto bello districarsi su un codice scritto su una sola riga

  5. #5
    Scusate spero di aver risolto l'inconveniente..!!
    Spero solo di non aver fatto qualche cavolata identando il codice.

  6. #6
    Hai messo dei punti dove invece vanno le virgole
    Codice PHP:
         setcookie ('font',$_GET['font'], time()+60); 
         
    setcookie ('dimensione',$_GET['dimensione'], time()+60); 
         
    setcookie ('colore',$_GET['colore'], time()+60); 
         
    setcookie ('testo',$_GET['testo'], time()+60); 

  7. #7
    Voglio svelato il trucco..!!
    Non so quanto sono stato a leggere e rileggere il codice e non ero riuscito a notarlo...!!! HAI UN OCCHIO DA FALCO..!!

    Grazie infinite..!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.