• User Newbie

    CSS e PHP

    Ciao a tutti, sono nuova di questo forum ed è la prima volta che uso il css.

    Ho fatto un file css che incorporato ad una pagina html funziona benissimo, ho il risultato sperato: l'immagine di sfondo a pieno schermo ed adattabile.
    Il problema nasce nel fare funzionare il foglio css in php.
    Ho provato ad incorporarlo in tutti i modi ma il risultato è uno: sfondo bianco e niente immagine.

    Vi metto qui di seguito il codice del css...AIUTOOO!!!:

    <?php
    header("Content-type: text/css");
    ?>
    body{

    background: #FFFFFF;
    background-image: url(immagini/sfarancione.jpg);
    background-repeat: no-repeat;
    background-position: 10px 10px;
    color: #000000;
    

    }


  • User Attivo

    Ciao...
    Il tuo problema è un non-problema.
    PHP è un linguaggio lato server... un browser non legge codice php... ciò che legge è l'output generato dal motore php del server...
    Una pagina php viene letta dal browser esattamente come una pagina html solo che, se nella pagina c'è codice php, questo viene elaborato dal server ed eventualmente viene restituito un output.

    Ad esempio, se ho una pagina:

    [php]
    <html>
    <head>
    </head>
    <body>
    <p>Ciao</p>
    </body>
    </html>
    [/php]

    Sia con estensione html che php, il risultato su browser sarà sempre "Ciao"

    [php]
    <html>
    <head>
    </head>
    <body>
    <?php echo 'Ciao'; ?>
    </body>
    </html>
    [/php]

    Questa, con estensione php, ti mostrerà "Ciao"... con estensione html ti mostrerà "<?php echo 'Ciao'; ?>" perchè il motore php non verrà messo in moto...

    [php]
    <html>
    <head>
    </head>
    <body>
    <?php $var='ciao'; ?>
    </body>
    </html>
    [/php]

    Questa mostrerà <?php $var='ciao'; ?> se ha estensione html ma non mostrerà nulla se è in php perchè il codice php contenuto non ha un output.
    Quindi, i fogli di stile vanno incorporati esattamente nello stesso modo come se la pagina fosse in html...

    O forse non ho capito cosa chiedi?


  • User Newbie

    Forse sono stata contorta io, non era quello che chiedevo ma ho risolto il probema xD!!!
    Grazie mille


  • User Attivo

    Mi piacerebbe sapere qual'era il problema... sono curioso!:?


  • User Newbie

    Allora il mio non problema era questo: non avendo mai utilizzato il css mi ero fidata di quanto leggevo in giro sui siti... ma mai fidarsi del tutto ghghgh
    Il problema era in parte del codice css che non piaceva al php e di dove mettevo la stringa per richiamare il file. Ti incollo un pezzo di codice per farti capire meglio:

    questo codice con l'html funziona divinamente l'immagine si apre a tutto schermo (con il php non va), il richiamo del file lo avevo messo tra i tag head:

    file.css
    <?php
    header("Content-type: text/css");
    ?>
    body{
    background: #FFFFFF;
    background-image: url(immagini/sfarancione.jpg);
    background-repeat: no-repeat;
    background-position: 10px 10px;
    color: #000000;

    }

    Con il php, per farlo leggere da tutti i browser, il codice di richiamo file l'ho dovuto mettere nel < body>

    ed il codice l'ho dovuto modificare un pochetto in questo modo:
    il file css è diventato un file con estensione php

    <?php
    header("Content-type: text/css");
    ?>
    body{
    background-color: #FFCC66;
    background-image: url(../immagini/sfarancione1.jpg);
    background-repeat: repeat-y ;
    background-size: 100%;

    }
    Ora l'altro problemino che ho e... che in locale fuonziona divinamente, il php fa il suo lavoro ed anche il css ma... una volta hostato su altervista il css non va... qualche consiglio?


  • User Attivo

    Guarda che php con css non c'entra nulla!

    Continuo a non capire il problema...


  • User

    Salve sono nuovo del forum e mi ricollego a questo post dato che ho lo stesso problema.

    In pratica da una pagina php ancora molto embrionale che mi serve solamente per elaborare un layout decente come la seguente:

    [PHP]
    require_once 'header.php';

    if (isset(ilValoreCheVieneDiVoltaInVoltaDaUnaClasseCheElaboraIDatiNelDatabase))
    {
    if (!isset($_COOKIE['valoreDelBiscottino']))
    {

             switch (variabileDaControllare)
             {
    
                   case "primaAzione":
                           require_once 'formLogin.php';
                           break;
    
                   default:
                            require_once 'formPassword.php';
                            break;
    
             }
    
    }
    

    require_once 'footer.php';
    }
    [/PHP]

    dove nel header ci sono le stringhe per richiamare sia i css che i plugin jquery

    [php]

        echo "<head>\n"
            . "<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />"
                . "<title>" . adminTitle . "</title>"
            . "<link media='screen' rel='stylesheet' href='template/" . template . "/css/colorboxpass.php' />"
            . "<link media='screen' rel='styleshee' href='template/" . template . "/css/popuppass.php' />"
            . "<script  type='text/javascript' src='template/" . template . "/js/jquery.min.js'></script>"
            . "<script  type='text/javascript' src='template/" . template . "/js/colorbox.js'></script>"
            . "<script  type='text/javascript' src='template/" . template . "/js/popuppass.js'></script>" 
        . "</head>"
    . "<body>";
    

    [/php]

    Mentre formLogin e formPassword sono due semplici form (metto formPassword per praticità).

    [html]
    <div style='display:none' class='openPopup'>
    <div id='typePassword' style='padding:10px'>
    <div align='center'>
    <h3 class="box-title">Type your password and click Submit</h3>
    <form id='form'>
    <input type='password' id='password' size='20' maxlength='20' class="corner" /><br /><br />
    <input type='submit' value='Submit' />
    </form>
    </div><br />
    <div id='errorMessage' style='display:none' class='errorMessage'></div>
    </div>
    </div>
    [/html]

    Il problema è che mentre i js funzionano (pur essendo lato client e non lato server) i css è come se non esistessero.

    In nessun modo sono riuscito a farli andare:

    [HTML]<div id='errorMessage' style='display:none' class='errorMessage'></div> // Non funziona
    <div id='errorMessage' style='display:none' class="errorMessage"></div> // Non funziona
    <div id="errorMessage" style="display:none" class="errorMessage"></div> // Non funziona[/HTML]

    Stesso dicasi per il codice php

    [php]
    echo "div id='errorMessage' style='display:none' class='errorMessage'></div>" // Non funziona
    . "<div id='errorMessage' style='display:none' class="errorMessage"></div>" // Non funziona
    . "<div id="errorMessage" style="display:none" class="errorMessage"></div>" // Non funziona
    . "<div id='errorMessage' style='display:none' class="errorMessage"></div>"; // Non funziona
    [/php]

    Non è servito neanche aggiungere l'header in cima nei fogli di stile rinominando da css a .php

    [php]
    <?php
    header("Content-type: text/css");
    ?>
    /*
    Tutte le mie regole qua
    */
    [/php]

    ne modificare gli stili
    [html]
    #errorMessage
    {
    /* codice */
    }

    // Facendolo in alternativa diventare

    .errorMessage
    {
    /* codice */
    }
    [/html]

    In pratica è come se non avessi più i css o non venissero caricati, tuttavia se vado su Visualizza Sorgente in Firefox e clicco sul link del css si apre correttamente una pagina dove me lo visualizza segno evidente che c'è e viene caricato; lo stesso accade con opera e ie.

    Qualche idea ?
    Aragon


  • User

    ma perchè usi un file php per dare il css?? Fai elaborazioni particolari??
    Visualizza il sorgente dell apagina risultato e apri i link dei css, li trovi??


  • User

    @Bonzetto said:

    ma perchè usi un file php per dare il css?? Fai elaborazioni particolari??
    Visualizza il sorgente dell apagina risultato e apri i link dei css, li trovi??

    Si se visualizzo il sorgente della pagina che risulta e clicco sui css li trovo regolarmente quindi i collegamenti sono giusti ma
    non importa le regole