cambiare foglio di stile tramite una select e mantenere la sessione

ciao a tutti, ho un problema tramite una select con questi valori:

<form action="" method="post" >
      <label for="scegraf"> Versione grafica:</label>
      <br />
      <select id="scegraf" name="scegraf" >
        <option value="veste">Scegli la grafica</option>
        <option value="1">Versione grafica</option>
        <option value="2">Alta leggibilitá</option>
        <option value="3">Senza foglio di stile</option>
          </select>
      <br />
     <input name="grafica" type="submit" value="Scegli"/>
     </form>

in base alla selezione vorrei cambiare foglio di stile e mantenere il foglio selezionato anche quando visita le pagine finchè non abbandona il sito.

i fogli di stile sono statici e caricati dentro una cartella.

allora devo iniziare con una sessione vero?

ho realizzato questo script con esito negativo, non nemmeno se sto sulla strada giusta!

<?php 
session_start();
echo'... codive html.....';
if(!isset($_SESSION['scegraf'])){
                 $stile='<link href="css/stile.css" rel="stylesheet" type="text/css" />
                 <!--[if lte IE 6]><link href="css/stile.css" rel="stylesheet" type="text/css" /><![endif]-->
                  <!--[if !IE 6]><link href="css/stilecss" rel="stylesheet" type="text/css" /><![endif]-->';
  
$_SESSION['scegraf']=0;
echo $stile;
}
if(isset($_POST['grafica'])){
//$vargrafica=$_POST['scegraf'];

 
if($_POST['scegraf']=="1"){
         $stile='<link href="css/stile.css" rel="stylesheet" type="text/css" />
                 <!--[if lte IE 6]><link href="css/stile.css" rel="stylesheet" type="text/css" /><![endif]-->
                  <!--[if !IE 6]><link href="css/stile.css" rel="stylesheet" type="text/css" /><![endif]-->'; 
        $_SESSION['scegraf']=$stile;   
       echo"$stile";
       
       
 }
if($_POST['scegraf']=="2") {
        $stile='';
      $_SESSION['scegraf']=$stile;   
      echo"$stile";
 }   
   
}

?>

help help help!

inviato 8 anni fa
felix1
X 0 X

Che cosa pensi di utilizzare il $_POST, $_SESSION; perchè fai un mix dichiarando la stessa var prima i un modo    poi con un'altro, che cosa significa mantenere la sessione puoi essere + chiaro. O0  ;) 

risposto 8 anni fa
EKELON77
X 0 X

 io accedo al sito ed ho il foglio di stile di default  tramite una select, dove ho la possibilità di scegliere tre tipi di css, una volta che il visitatore ha scelto un folgio di stile,  deve mantenere quello  stesso  che ha selezionato fino a che non abbandona il sito..

suppongo che devo crare una sessione per mantnere i dati vero??

risposto 8 anni fa
felix1
X 0 X

Credo che il problema sia causato dal fatto che se un utente ha precedentemente selezionato uno stile, e quindi $_SESSION['scegraf'] è settato, non c'è alcuna istruzione echo che stampi i tag html dei CSS.

Infatti tu hai messo un echo per quando $_SESSION['scegraf'] non è settato e altri echo quando l'utente seleziona uno stile, ma non hai messo un echo per caricare i CSS per le pagine successive alla selezione dello stile.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

quindi dovrei scrivere in quest'latro modo:

if(isset($_SESSION['nome sessone'])){
echo"..fogliio....";
}
else{
echo"...foglio......";
}
risposto 8 anni fa
felix1
X 0 X

Si, magari prima controlli se l'utente ha selezionato uno stile e nel caso lo metti in sessione. Puoi controlli se uno stile è presente in sessione oppure no

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

ok grazie gianni! penso di aver risolto come mi hai detto tu :D

 :bye:

risposto 8 anni fa
felix1
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda