[PHP]Creare cookie

tonya_atrox

Nuovo Utente
18 Set 2016
15
0
1
40
Buonasera a tutti, :)
ho creato due file php
HomePage.php
personalizzaHomePage.php

Dalla pagina HomePage apro il sito con file personalizzaHomePage.php dove all'interno ho creato una form di personalizzazione , dove l'utente, dopo aver scelto uno schema di colore tramite radiobutton, deve cliccare sul pulsante Personalizza; così facendo vorrei invocare uno script PHP che crea un cookie dove all’interno sarà salvata la personalizzazione selezionata.
Poi ritornare all'home page HomePage.php, che questa volta dovrà avere lo schema di colore appena scelto dall'utente.

Ho allegato anche il sito in questione con dentro i file citati.
Grazie anticipatamente :)

codice del file HomePage.php

HTML:
<!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>Documento senza titolo</title>
</head>

<body>
<h1>Titolo della Home Page</h1>
<p>
Questo è il corpo del testo della home page
</p>
<p><a href="personalizzaHomePage.php">personalizza home page</a> </p></body>
</html>


codice del file personalizzaHomePage.php

HTML:
<!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>Documento senza titolo</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <table width="333">
    <tr>
      <td colspan="2" align="center">Scegli lo schema di colore che preferisci e prema il pulsante personalizza in basso</td>
    </tr>
    <tr>
      <td width="305" bgcolor="#0033CC">Sfondo blu, testo bianco, <font color="yellow">link giallo</font></td>
      <td width="16"><label>
        <input type="radio" name="RadioGroup1" value="1" id="RadioGroup1_0" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#FF0000">Sfondo rosso, testo bianco, <font color="999999">link grigio</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="2" id="RadioGroup1_1" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#00FF00">Sfondo verde, testo bianco, <font color="ff00ff">link fucsia</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="3" id="RadioGroup1_2" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#999999">Sondo grigio chiaro, testo nero, <font color="FF0000">link rosso</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="4" id="RadioGroup1_3" />
      </label></td>
    </tr>
  </table>
  <p>
      <input type="submit" name="personalizzabutton" id="personalizzabutton" value="Personalizza" />
  </p>
</form>
</body>
</html>
 

Allegati

  • Sito.zip
    1,8 KB · Visite: 285

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
27
Ciao, prova così.

Homepage.php
PHP:
<?php

if(isset($_COOKIE['color-schema'])) {
    $schema = $_COOKIE['color-schema'];

    switch ($schema) {
        case '1':
            $class = 'uno';
            break;
        case '2':
            $class = 'due';
            break;
        case '3':
            $class = 'tre';
            break;
        case '4':
            $class = 'quattro';
            break;
        default:
            $class = 'default';
            break;
    }
}


?>

<!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>Documento senza titolo</title>

<style type="text/css">
   
.uno {
    background-color: #0033CC;
    color: #fff;
}

.uno a {
    color: #ff0;
}

.due {
    background-color: #f00;
    color: #fff;
}

.due a {
    color: #999;
}

.tre {
    background-color: #0f0;
    color: #fff;
}

.tre a {
    color: #f0f;
}

.quattro {
    background-color: #999;
    color: #000;
}

.quattro a {
    color: #f00;
}

.default {
    background-color: #fff;
    color: #000;
}

.default a {
    color: #00c;
}


</style>
</head>

<body class="<?php echo $class; ?>">
<h1>Titolo della Home Page</h1>
<p>
Questo è il corpo del testo della home page
</p>
<p><a href="personalizzaHomePage.php">personalizza home page</a> </p></body>
</html>


personalizzaHomePage.php
PHP:
<?php

if(isset($_POST['personalizzabutton']) && isset($_POST['RadioGroup1'])) {
    $nome_cookie = "color-schema";
    $value_cookie = $_POST['RadioGroup1'];
    $scadenza_cookie = time()+86400*365;
    $path = '/';

    if (setcookie($nome_cookie,$value_cookie,$scadenza_cookie,$path)) {
        echo "<div><h2>Modifiche salvate</h2></div>";
    }
}
 ?>


<!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>Documento senza titolo</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <table width="333">
    <tr>
      <td colspan="2" align="center">Scegli lo schema di colore che preferisci e prema il pulsante personalizza in basso</td>
    </tr>
    <tr>
      <td width="305" bgcolor="#0033CC">Sfondo blu, testo bianco, <font color="yellow">link giallo</font></td>
      <td width="16"><label>
        <input type="radio" required checked name="RadioGroup1" value="1" id="RadioGroup1_0" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#FF0000">Sfondo rosso, testo bianco, <font color="999999">link grigio</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="2" id="RadioGroup1_1" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#00FF00">Sfondo verde, testo bianco, <font color="ff00ff">link fucsia</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="3" id="RadioGroup1_2" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#999999">Sondo grigio chiaro, testo nero, <font color="FF0000">link rosso</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="4" id="RadioGroup1_3" />
      </label></td>
    </tr>
  </table>
  <p>
      <input type="submit" name="personalizzabutton" id="personalizzabutton" value="Personalizza" />
  </p>
</form>
<a href="HomePage.php">Torna alla homepage</a>
</body>
</html>
 
  • Like
Reactions: tonya_atrox

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
27
Il valore (unico) proveniente dal form è conservato all'interno di $_POST['RadioGroup1'], quindi lo memorizzo come $value_cookie e creo il cookie (che si chiama 'color-schema' con scadenza a un anno) con tale valore.

Nella homepage viene controllato se esiste tale cookie nella macchina dell'utente e, se lo trova, ne estrapola il valore, il quale viene salvato all'interno della variabile $schema. A questo punto viene creata la variabile $class che assume valore diverso a seconda del valore assunto dal cookie.

Il valore della variabile $class diviene la classe (linguaggio html) del body a cui è associato un particolare stile, definito a livello di CSS.
 
  • Like
Reactions: tonya_atrox

tonya_atrox

Nuovo Utente
18 Set 2016
15
0
1
40
Ciao AdeKnite innanzitutto grazie , essendo ancora alle prime armi, credo che senza il tuo aiuto non ce l'avrei mai fatta.
Ho provato il codice e funziona alla perfezione.
La spiegazione mi è stata molto d'aiuto , sopratutto per comprendere il funzionamento.
Grazie ancora alla prossima :)
 

ymod

Nuovo Utente
14 Dic 2020
18
0
1
Ciao, prova così.

Homepage.php
PHP:
<?php

if(isset($_COOKIE['color-schema'])) {
    $schema = $_COOKIE['color-schema'];

    switch ($schema) {
        case '1':
            $class = 'uno';
            break;
        case '2':
            $class = 'due';
            break;
        case '3':
            $class = 'tre';
            break;
        case '4':
            $class = 'quattro';
            break;
        default:
            $class = 'default';
            break;
    }
}


?>

<!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>Documento senza titolo</title>

<style type="text/css">
  
.uno {
    background-color: #0033CC;
    color: #fff;
}

.uno a {
    color: #ff0;
}

.due {
    background-color: #f00;
    color: #fff;
}

.due a {
    color: #999;
}

.tre {
    background-color: #0f0;
    color: #fff;
}

.tre a {
    color: #f0f;
}

.quattro {
    background-color: #999;
    color: #000;
}

.quattro a {
    color: #f00;
}

.default {
    background-color: #fff;
    color: #000;
}

.default a {
    color: #00c;
}


</style>
</head>

<body class="<?php echo $class; ?>">
<h1>Titolo della Home Page</h1>
<p>
Questo è il corpo del testo della home page
</p>
<p><a href="personalizzaHomePage.php">personalizza home page</a> </p></body>
</html>


personalizzaHomePage.php
PHP:
<?php

if(isset($_POST['personalizzabutton']) && isset($_POST['RadioGroup1'])) {
    $nome_cookie = "color-schema";
    $value_cookie = $_POST['RadioGroup1'];
    $scadenza_cookie = time()+86400*365;
    $path = '/';

    if (setcookie($nome_cookie,$value_cookie,$scadenza_cookie,$path)) {
        echo "<div><h2>Modifiche salvate</h2></div>";
    }
}
?>


<!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>Documento senza titolo</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <table width="333">
    <tr>
      <td colspan="2" align="center">Scegli lo schema di colore che preferisci e prema il pulsante personalizza in basso</td>
    </tr>
    <tr>
      <td width="305" bgcolor="#0033CC">Sfondo blu, testo bianco, <font color="yellow">link giallo</font></td>
      <td width="16"><label>
        <input type="radio" required checked name="RadioGroup1" value="1" id="RadioGroup1_0" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#FF0000">Sfondo rosso, testo bianco, <font color="999999">link grigio</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="2" id="RadioGroup1_1" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#00FF00">Sfondo verde, testo bianco, <font color="ff00ff">link fucsia</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="3" id="RadioGroup1_2" />
      </label></td>
    </tr>
    <tr>
      <td bgcolor="#999999">Sondo grigio chiaro, testo nero, <font color="FF0000">link rosso</font></td>
      <td><label>
        <input type="radio" name="RadioGroup1" value="4" id="RadioGroup1_3" />
      </label></td>
    </tr>
  </table>
  <p>
      <input type="submit" name="personalizzabutton" id="personalizzabutton" value="Personalizza" />
  </p>
</form>
<a href="HomePage.php">Torna alla homepage</a>
</body>
</html>
Ma se io ho un sito, su cui posso creare tanti blog. In ogni blog ho il pulsante per personalizzarlo. Come faccio a cambiare il colore di sfondo solo al singolo blog che voglio personalizzare e non a tutti?
 
Discussioni simili
Autore Titolo Forum Risposte Data
S Libreria PHP per creare file dwg o dxf PHP 0
J creare pagina php di prenotazione PHP 5
F [PHP] creare tabella e tasto cerca PHP 3
B [PHP] Creare PDF dopo inserimento dati form PHP 4
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
Z Creare VirtualHost Apache2 con PHP? Programmazione 0
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
E [PHP] creare temporary table per dati da xml PHP 2
R [PHP] creare pagina profilo per ogni utente PHP 4
M [PHP] Creare un menu a tendina con pdo PHP 18
G [PHP] Creare mail con allegato nascosto e bottone di richiamo PHP 0
C [PHP] Creare un Pulsante che ricopia valori di un campo in altro record PHP 4
Shyson [WordPress] [PHP] Creare codice che evidenzia nuovi articoli WordPress 0
ANDREA20 creare sito in php PHP 6
G [PHP] Creare appuntamento ed inviarlo tramite mail (Outlook e Gmail) PHP 0
F [PHP] Creare un'area web riservata PHP 13
S [PHP] [HTML] Come creare un grafico dinamico PHP 4
V Creare tabella mysql con php non funziona PHP 1
M Creare tabella da pagina php popolata con valori passati con POST PHP 5
B [PHP] hp script creare un utente diminuendo -1 e cosi via PHP 1
AntoCastro [PHP] Creare un sito di quiz a catena PHP 17
V Creare funzioni PHP per agevolare bootstrap PHP 1
B funzioni per creare file e inserirli dentro una certa cartella in php? PHP 1
F Creare pagina PHP come quella di phpMyadmin PHP 12
M Creare tabella da pulsante php PHP 6
M Creare un exe da un listato php PHP 5
P [PHP] Creare un elenco completo con tabella PHP 3
Zea [PHP] RISOLTO - creare link con il risultato dell'interrogazione db PHP 1
utente è possibile creare una pagina php che copia interamente il contenuto di un'altra pagina ? PHP 10
A [PHP] Creare numero ticket casuale PHP 5
giannit [PHP] Creare pagina con collegamenti ipertestuali da file txt PHP 6
B [PHP] Creare un'interfaccia di inserimento testo in varie posizioni PHP 1
sandropochi [PHP] Form per creare filtro di ricerca su DB PHP 8
L [PHP] Creare un uploader di file csv xls e ricercare i risultati PHP 0
Zayciho [PHP] Creare sito web dinamico PHP 5
P [PHP] Creare elenco immagini PHP 2
L [php e xml] per creare una galleria fotografica con diversi file xml PHP 0
M [PHP] Creare chart con highchart PHP 6
Monital [PHP] Creare un array da stringa con diversi spazi PHP 3
P [PHP] come creare una chat PHP 24
trattorino Creare codice php help PHP 26
R [PHP] [HTML] Creare script invio modulo contatti PHP 2
romeocharly Creare un script/codice in php per collegare un id mysql con un file PHP 0
S PHP: creare un link in una pagina PHP 7
D Cerco Collaboratore in gradio di creare siti in wordpress, joomla, e PHP Offerte e Richieste di Lavoro e/o Collaborazione 7
V creare un collegamento di pagina html in php PHP 10
L Creare alcune condizioni php PHP 22

Discussioni simili