Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    3

    [PHP]usare i cookie per schema di personalizzazione

    Buongiorno a tutti.
    Vorrei un vostro aiuto perché non riesco ad implementare uno script che, a seconda dello schema di personalizzazione scelto dall'utente, mi crei dei cookie che mi permettano di personalizzare la home page.

    La pagina index.php contiene contiene un lorem ipsum e poi il collegamento alla pagina personalizza.php. Qui c'è un form con delle checkbox che contengono le scelte colore. Il pulsante personalizza dovrebbe invocare uno script (che ho messo all'inizio della pagina) che memorizza le scelte dell'utente in cookies che verranno poi letti in index.php.

    Codice PHP:
    <!doctype html><html><head><meta charset="UTF-8"><title>personalizza l'home page</title>
    </head>

    <?php
    //pagina index.php
    if(isset($_POST['cambia_colore'])){ 
    $sfondo=$_COOKIE['sfondo'];       
    $testo=$_COOKIE['testo'];       
    $link=$_COOKIE['link'];
    echo 
    "<body bgcolor=\"$sfondo\" text=\"$testo\" link=\"$link\">";
    }
    else echo 
    "<body>";
    ?>
    Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </p>
    <p>
    <a href="personalizza.php">personalizza </a> 
    </p>
    </body>
    </html>
    E questa è la pagina personalizza.php
    Codice PHP:
    <?php
    //pagina personalizza.php 
    if(isset($_POST['cambia_colore'])){       
    if(
    $_POST['Checkbox']=='blu_bianco_giallo'){
    setcookie("sfondo","#00F",time()+3600);       
    setcookie("testo","#FFF",time()+3600);        
    setcookie("link","#FF0",time()+3600);                        
    }        
    elseif(
    $_POST['Checkbox']=='rosso_bianco_grigio'){        
    setcookie("sfondo","#F00",time()+3600);        
    setcookie("testo","#FFF",time()+3600);        
    setcookie("link","#CCC",time()+3600);            
    }        
    elseif(
    $_POST['Checkbox']=='verde_bianco_fucsia'){        
    setcookie("sfondo","#0F0",time()+3600);        
    setcookie("testo","#FFF",time()+3600);        
    setcookie("link","#F0F",time()+3600);                
    }       
    elseif(
    $_POST['Checkbox']=='grigio_nero_rosso'){        
    setcookie("sfondo","#CCC",time()+3600);        
    setcookie("testo","#000",time()+3600);        
    setcookie("link","#F00",time()+3600);        
    }        
    }        
    ?>
    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Personalizza</title>
    <style type="text/css">
    .blu_bianco_giallo {    
    background-color: #00F;    color:#FFF;        }
    .giallo {    color: #FF0;
    }
    #form1 {
     height: 150px;    
    width: 300px;    
    margin-right: auto;    
    margin-left: auto;
    }
    .rosso_bianco_grigio {    
    background-color:#F00;    
    color:#FFF;        
    }
    .grigio {    
    color:#CCC;    
    }
    .fucsia {    
    color:#F0F;    
    }
    .rosso {    
    color:#F00;    
    }    
    .verde_bianco_fucsia {    
    background-color:#0F0;    
    color:#FFF;        
    }
    .grigio_nero_rosso {    
    background-color:#CCC;
    color:#000;        
    }
    </style>
    </head>
    <body>
    <form action=" $_SERVER['PHP_SELF']" id="form1"  name="form1" method="post">
    <div class="blu_bianco_giallo" id="blu_bianco_giallo">  <label>    
    <input name="Checkbox[blu_bianco_giallo]" type="checkbox" id="Cb_blu_bianco_giallo" value="Sfondo blu, testo bianco, link giallo">     Sfondo blu, testo bianco, <a href="#" class="giallo">link giallo</a>    </label>
     </div> 
    <div class="rosso_bianco_grigio" id="rosso_bianco_grigio">  <label>    
    <input type="checkbox" name="Checkbox[rosso_bianco_grigio]" value="Sfondo rosso, testo bianco, link grigio" id="Cb_rosso_bianco_grigio">    Sfondo rosso, testo bianco, <span class="grigio">link grigio</span></label>  
    </div>  
    <div class="verde_bianco_fucsia" id="verde_bianco_fucsia">  <label>    <input type="checkbox" name="Checkbox[verde_bianco_fucsia]" value="Sfondo verde, testo bianco, link fucsia" id="Cb_verde_bianco_fucsia">    Sfondo verde, testo bianco, <span class="fucsia">link fucsia</span></label>
      </div>  
    <div class="grigio_nero_rosso" id="grigio_nero_rosso">  <label>    <input type="checkbox" name="Checkbox[grigio_nero_rosso]" value="Sfondo grigio, testo nero, link rosso" id="Cb_grigio_nero_rosso">    Sfondo grigio, testo nero, <span class="rosso">link rosso</span></label>
    </div>  
    <input type="button" name="cambia_colore" id="cambia_colore" value="Personalizza">    <br></form>
    </body></html>
    Potete dirmi come fare per far funzionare lo script ?
    Mille Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    sbagli il value dei campi di input del form in personalizza.php...
    correggi
    codice:
    <input name="Checkbox[blu_bianco_giallo]" type="checkbox" id="Cb_blu_bianco_giallo" value="Sfondo blu, testo bianco, link giallo">     Sfondo blu, testo bianco, <a href="#" class="giallo">link giallo</a>    </label>
    con
    codice:
    <input name="Checkbox" type="checkbox" id="Cb_blu_bianco_giallo" value="blu_bianco_giallo">     Sfondo blu, testo bianco, <a href="#" class="giallo">link giallo</a>    </label>
    per tutte le scelte

    nella stessa pagina puoi togliere il "$_SERVER['PHP_SELF']" e lasciare come action=""

    nella pagina index.php, devi togliere il controllo
    Codice PHP:
    if(isset($_POST['cambia_colore'])){ 
    e cambiarlo, ad esempio, con
    Codice PHP:
    if(isset($_COOKIE['sfondo'])){ 
    se ti serve anche avere un redirect diretto da personalizza.php verso index.php, metti un header location dentro l'if quando setti il cookie

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2014
    Messaggi
    3
    Ok! benissimo!
    grazie clasku !

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.