Visualizzazione dei risultati da 1 a 10 su 10

Discussione: dubbi sulle inclusioni

  1. #1

    dubbi sulle inclusioni

    Salve a tutti,
    ho un dubbio atroce nell'inclusione di codice nelle pagine php.
    Ho una pagina che come prima cosa fa un 'require_once' di una classe che ricava i parametri generali del sito come le path alle varie sottocartelle in un array chiamato $settings.
    Due elementi di tale array li ho usati per memorizzare del codice html, precisamente la navbar ed il contenuto centrale della pagina.
    Solo per ultima, faccio un 'include' di una pagina template con codice HTML. In questa pagina linco due fogli di stile con seguente codice:

    <link rel='stylesheet' type='text/css' href="<? echo $settings['cssDir']."style.css"; ?>">
    <link rel='stylesheet' type='text/css' href="<? echo $settings['cssDir']."layout.css"; ?>">

    Putroppo, quest'ultima pagina viene visualizzata ignorando le impostazioni dei fogli di stile. Ho messo a fine pagina un echo per visualizzare l'elemento dell'array 'cssDir' e da come vedo, il puntamento al file è corretto, segno che i parametri della classe si propagano anche a tale pagina inclusa. Ma la visualizzazione non va...
    Secondo voi dove sto sbagliando?
    Grazie.
    Collaborazione - Lealtà - Rispetto
    questo avrete da me, questo pretendo da voi!

  2. #2
    secondo me questo:


    href="<? echo $settings['cssDir']." <-- queste doppie virgolette chiudono href!!

    prova cosi

    href="<? echo $settings['cssDir']. 'style.css'; ?> " >

    poi fammi sapere

  3. #3
    inoltre devi togliere anche le " in fondo prima di >
    non capisco se sono aperte prima dell href o no

  4. #4
    Ciao e grazie delle indicazioni.
    Ho fatto svariate prove ma tutte frustranti.
    Alla fine mi pare di capire che il problema sta nella definizione del path di puntamento dei file css.

    ho provato anche a fare così...
    codice:
    echo "<link href=\".$style.\" rel=\"stylesheet\" type=\"text/css\">";
    echo "<link href=\".$layout.\" rel=\"stylesheet\" type=\"text/css\">";
    e l'alternativa principale da te proposta
    codice:
    <link rel='stylesheet' type='text/css' href=<? echo $settings['cssDir'].'style.css'; ?>>
    <link rel='stylesheet' type='text/css' href=<? echo $settings['cssDir']."layout.css"; ?>>
    ma il risultato è sepre lo stesso.
    facendo un echo delle variabili contenenti le path mi esce

    "C:/Programmi/Apache Group/Apache2/htdocs/sito/styles/layout.css"

    il che è corretto, ma la visualizzazione non va.
    A sto punto, ho provato a mettere il path relativo "../styles/layout.css" e questa volta ha funzionato.
    Non capisco come mai, il path assoluto non se lo mangia, mentre il relativo sì. Purtroppo dovrei per forza usare l'assoluto poichè chiamo il la pagina template da posizioni diverse.
    Collaborazione - Lealtà - Rispetto
    questo avrete da me, questo pretendo da voi!

  5. #5
    Alla fine mi sono arreso.
    Ho puntato href direttamente col path del sito "http//serverweb/sito/styles/style.css" e idem chiaramente anche per il file di layout.css.

    Dinamicamente via php dovrò fare delle verifiche sintattiche per le quali chiedo agli esperti se esiste un tutorial o altro che faccia chiarezza in merito.

    Se intanto saltano fuori altre soluzioni...ben vengano!
    Collaborazione - Lealtà - Rispetto
    questo avrete da me, questo pretendo da voi!

  6. #6
    se un link inizia con / significa che si riferisce alla cartella root del sito... quindi potresti mettere href="/styles/layout.css" per fare in modo che ti visualizzi, indipendentemente dalla pagina richiamata il file layout.css nella cartella styles che deve essere nella root del server
    visitate http://camicio.altervista.org per caxxate varie :d

  7. #7
    Questo mi sta bene...ma mi pare di capire che tale costrutto funziona se la pagina che vai a richiamare è sempre nella stessa posizione. Ma se io invece la pagina la richiamo da un sottocartella, il puntamento al file css viene ugualmente eseguito oppure no?
    Da prove da me fatte ieri notte (con tutti i se ed i ma del caso) mi pareva di aver notato che richiamando il template da una pagina annidiata in un'altra cartella, il link ai fogli di stile veniva "perso".
    E' per questo che sono ricorso ad un indirizzamento assoluto del file css.
    Collaborazione - Lealtà - Rispetto
    questo avrete da me, questo pretendo da voi!

  8. #8
    beh il browser un link a /ciao/ciao.php in ogni file in ogni cartella lo interpreta cercando il file php in www.sito.com/ciao/ciao.php
    visitate http://camicio.altervista.org per caxxate varie :d

  9. #9
    Originariamente inviato da Micheleb
    Ciao e grazie delle indicazioni.
    Ho fatto svariate prove ma tutte frustranti.
    Alla fine mi pare di capire che il problema sta nella definizione del path di puntamento dei file css.

    ho provato anche a fare così...
    codice:
    echo "<link href=\".$style.\" rel=\"stylesheet\" type=\"text/css\">";
    echo "<link href=\".$layout.\" rel=\"stylesheet\" type=\"text/css\">";
    e l'alternativa principale da te proposta
    codice:
    <link rel='stylesheet' type='text/css' href=<? echo $settings['cssDir'].'style.css'; ?>>
    <link rel='stylesheet' type='text/css' href=<? echo $settings['cssDir']."layout.css"; ?>>
    ma il risultato è sepre lo stesso.
    facendo un echo delle variabili contenenti le path mi esce

    "C:/Programmi/Apache Group/Apache2/htdocs/sito/styles/layout.css"

    il che è corretto, ma la visualizzazione non va.
    A sto punto, ho provato a mettere il path relativo "../styles/layout.css" e questa volta ha funzionato.
    Non capisco come mai, il path assoluto non se lo mangia, mentre il relativo sì. Purtroppo dovrei per forza usare l'assoluto poichè chiamo il la pagina template da posizioni diverse.
    NO!!!!

    tu valorizzi $settings['cssDir'] con $_SERVER['DOCUMENT_ROOT'] , in realtà devi valorizzarla con "http://".$_SERVER['HTTP_HOST']

    Ciao!

  10. #10
    Che dire?
    Grazie!! E tante anche!
    Adesso funziona.
    Collaborazione - Lealtà - Rispetto
    questo avrete da me, questo pretendo da voi!

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