Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Passare variabili php in css

    Eccovi qui un problema che non riesco a risolvere.
    Vorrei creare un foglio di stile dinamico per fare varie cosucce. Così ho modificato il file htaccess inserendo "AddType application/x-httpd-php .css" ed ora, giustamente, non legge più file .css che non inizino con "<?php header("Content-type: text/css"); ?>". E fin qui tutto bene. Tuttavia ignoro totalmente come fare a passare una variabile dalla pagina home.php a quella home.css! Ho scoperto a mie spese che $_GET['id'], per esempio, non restituisce nulla. Qual è il metodo esatto?
    Grazie mille

  2. #2
    non vorrei dirti na cavolata ma un file css non potra mai e poi mai leggere una istruzione php.

    ripeto non vorrei dire na cavolata perchè potrebbe sfuggirmi sto particolare che file css possono leggere istruzioni php.

  3. #3
    Boh, a me le cose funzionano, impostando htaccess come sopra . Però sulle variabili ho non pochi dubbi.

  4. #4
    Non c'è nessun problema a creare fogli di stile dinamici tramite php.
    Non servono neppure modifche al server (htaccess).

    Scrivi il tuo codice php il cui output dovrà essere (ed avere la sintassi di) il foglio di stiledesiderato.
    Puoi usare tutti i $_GET o $_POST che desideri, con la normale sintassi.
    Le tue uniche due preoccupazioni dovranno essere:

    1) specificare che l'output del tuo script php è un css tramite una istruzione header"Content-type: text/css")

    2) nelle pagine che usano il css dinamico, indicare il nome del tuo script php (non serve che finisca per .css, va benissimo che abbia il suo regolare .php) anzichè quello di un altro css
    Tecnolgie per l'arte.
    Arti per la tecnologia.
    softhare

  5. #5
    Sì, quello che dici è giusto, però il problema è proprio che non riesco a figurarmi bene come passare le variabili dalla pagina principale a quella css/php. Una soluzione, diciamo, sarebbe quella di definire il foglio di stile come: <link rel="stylesheet" type="text/css" href=<?php echo '"'.'style.php?id='.$_GET['id'].'"'; ?> /> per poi usare al suo interno la variabile $_GET['id'], riferita, ovviamente, al primo id. Adesso, però, a parte il fatto che quel -'"'- non mi convince (un tempo mi pare lo sapessi fare con i \), trovo che questo metodo sia un tantino antipatico, soprattutto per il fatto che, ad ogni pagina, viene associato il suo foglio di stile con id a vista.
    Non esiste nessuna modalità che permetta al foglio di stile (anche php invece che css, se vogliamo), di rimanere con un nome immacolato pur ricevendo le variabili giuste? E, se proprio non è possibile, non c'è modo di lasciar stare quel nome almeno in apparenza? :master:

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    usa la sessione ... e dallo script php che genera il css andrai a leggere le variabili in sessione

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Originariamente inviato da dottwatson
    usa la sessione ... e dallo script php che genera il css andrai a leggere le variabili in sessione

    Sì! Sapevo che avrei dovuto studiare le sessioni, prima o poi!
    Adesso, anzi, tutto riesce subito! Posto qui le parti salienti giusto per capire se è la maniera giusta per farlo. Scusate il disturbo che vi do, ma è la prima volta che uso le sessioni e vorrei non incappare in qualche errore grossolano.

    Questo nella pagina principale, prima di ogni altra istruzione:
    <?session_start();
    $_SESSION['x']=$_GET['id'];
    ?>

    Questo nel css/php, prima di tutto:
    <? session_start();
    $color=$_SESSION['x'];
    ?>

    Così, poi, uso $color, che è proprio $_GET['id'] per quello che devo fare. Tutto ok, vero ?

  8. #8
    Si...sembra tutto ok

  9. #9
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    si esatto,

    tieni solo conto di come e dove avvengono le assegnazioni delle variabili rispetto alla linea temporale.
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  10. #10
    Io cmq, avrei fatto semplicemente

    Codice PHP:
    if($_GET['v']=='1')
       
    $styleinclude="style1.css";
    if(
    $_GET['v']=='2')
       
    $styleinclude="style2.css";
    if(
    $_GET['v']=='3')
       
    $styleinclude="style3.css"

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.