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

    Script per cambiare foglio di stile e salvare la scelta

    Salve, sto rispolverando il mio PHP cercando di implementare un piccolo form che consente di scegliere il tema del sito, ma qualcosa non funziona poiché il tema non cambia...
    Tanto il cookie che i fogli di stile alternativi sono in una sottocartella "css" della root...
    codice HTML:
    <form action="<?php echo $_SERVER["PHP_SELF"] ?>" method="post">
        <select id="scegli2" name="tema">
            <option selected disabled>Tema del sito</option>
            <option value="miocss">Classico</option>
            <option value="dark">Dark</option>
        </select>
        <input type="submit" value="Cambia" /></form>
    Codice PHP:
    if (isset($_POST['tema'])) {
        
    $style $_POST['tema'];
    } else if (isset(
    $_COOKIE['css/temaScelto'])) {
        
    $style $_COOKIE['css/temaScelto'];
    } else {
        
    $style "miocss";
    }                        
    setcookie("temaScelto"$styletime()+(60*60*24*30), "css/"); 
    Inizialmente setcookie() si trovava nel primo if ma con identico insuccesso.
    All'invio del form la pagina si ricarica ma il tema "dark" non viene preso.
    Dove sbaglio?

    Edit: nel secondo argomento del setcookie() ho concatenato ".css" ma non è cambiato nulla.
    Ultima modifica di Gas75; 16-04-2024 a 18:43

  2. #2
    Ho introdotto php anche nell'head della pagina per poter passare la variabile $style, ma continua a non funzionare bene: ora riesco a cambiare il tema ma limitatamente alla pagina con il form, poi si perde del tutto il riferimento al foglio di stile, poiché si concatenano sottocartelle css al path.

  3. #3
    Ho risolto, grazie lo stesso per il non interesamento.
    Dopo anni di supporto volontario in varie sezioni del forum... La ruota gira.

  4. #4

  5. #5
    Erano sbagliate le concatenazioni che componevano il path del foglio di stile: a ogni cambio aggiungevo una sottocartella css e una estensione .css. Questo è il mio PHP funzionante.
    Codice PHP:
    if (isset($_POST['tema'])) {
        
    $style $_POST['tema'];
    } else if (isset(
    $_COOKIE['temaScelto'])) {
        
    $style $_COOKIE['temaScelto'];
    } else {
        
    $style "miocss";
    }

    setcookie("temaScelto"$styletime()+(86400*30), "/"); 
    tema è il value proveniente dal select...

Tag per questa discussione

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.