Visualizzazione dei risultati da 1 a 2 su 2

Discussione: sessioni...boh!

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    12

    sessioni...boh!

    Ciao a tutti...

    Sto studiando un po' di PHP, e mi sono imbattuta in un argomento che proprio non mi entra in testa: cookie e sessioni! Ovvero, teoricamente so cosa sono, ma metterli in pratica mi sembra impossibile...
    Vi scrivo il testo dell'esercizio che per primo mi ha mandata in tilt, sicuramente seguiranno anche altri, ma spero che, ricevendo qualche soluzione da voi che siete più esperti di me, capirò qualcosa partendo dagli esempi:

    " 1) Realizzare una pagina che cambi colore di sfondo in base alle preferenze dell'utente. L'utente potrà esprimere il suo colore preferito tramite una FORM (ok, questo l'ho fatto, perchè era inerente all'argomento precedente sulla gestione dei parametri con le form).

    2) Conservare il colore scelto in una sessione (qui comincio ad andare in tilt).

    3)Realizzare due nuove pagg dell'applicazione che visualizzino lo sfondo del colore scelto dall'utente in precedenza (tramite l'uso di sessioni). "

    1) Questo è il codice nel file .html :

    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <form action="es5.2.php" method=GET name="eser5_2">
    Scegli il colore che più ti piace!

    <input type="radio" name="colore" value="Rosa">Rosa

    <input type="radio" name="colore" value="Azzurro">Azzurro

    <input type="radio" name="colore" value="Arancio">Arancione

    <input type="radio" name="colore" value="Rosso">Rosso

    <input type="submit" value="Invia">
    </form>
    </body>
    </html>

    questo è lo script richiamato:

    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <?
    $colore=$_GET["colore"];
    if ($colore=="Rosa"){
    echo "<body style='background-color:#ff99cc;'>";
    }
    else if ($colore=="Azzurro"){
    echo "<body style='background-color:#3399ff;'>";
    }
    else if ($colore=="Arancio"){
    echo "<body style='background-color:#ff6600;'>";
    }
    else {
    echo "<body style='background-color:#ff0000;'>";
    }
    ?>
    </body>
    </html>


    Grazie a chiunque mi aiuterà...

  2. #2
    Ciao,
    se vuoi conservare ad esempio il colore dello sfondo nelle pagine del sito che l'utente visualizzarà in seguito alla complizione del form, bisogna inanzitutto creare una sessione in php con il comando
    Codice PHP:
    session_start(); 
    da mettere all'inizio di ogni pagina dove vuoi che la sessione sia attiva.
    Cos'hai fatto con il comando session_start();?? Non è esattissimo ma per capirci diciamo
    che hai "creato" un array $_SESSION, array dove potrai memorizzare dei valori e al quale potrai accedere (in lettura e scrittura) in ogni pagina del tuo sito dove la sessione è attiva.
    Quindi, tornando all'esmpio, dovrai aggiungere all'inizio della pagina es5.2.php il codice
    Codice PHP:
    session_start();//qui attivi la sessione
    $_SESSION['colore']=$_POST['colore'];//qui metti nell'array SESSION nella posizione 'colore' il colore scelto dall'utente nel form 
    In tutte le altre pagine del sito dove vuoi che la sessione resti attiva e quindi utilizzare l'array $_SESSION e i valori li scritti dovrai mettere ad inizio pagina il comando
    Codice PHP:
    session_start();//mantiene la sessione attiva
    $colore=$_SESSION['colore'];//hai preso il valore dall'array session e messo nella variabile $colore 
    ...naturalmente ci sarebbe tanto altro da dire... ma ci sono i manuali per questo... se cmq hai altri dubbi...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.