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

    Problema con include e css

    Mi trovo in questa situazione:

    aaa.jpg bbb.jpg

    Ho creato l'header e il footer nella cartella "web", dove in un altra cartella ho creato il CSS.
    Se provo a creare una pagina "view" fuori dalla cartella "web", dove richiamo con <?php include("percorso file"); ?> l'header e il footer ... mi carica entrambi ma non carica nè il CSS, nè le immagini e nemmeno la connessione, che erano tutte richiamate nell'header. Se invece metto il file "view" dentro la cartella "web", funziona tutto perfettamente.

    Come faccio a risolvere questo problema?

    Se provo ad aprire la view mi dà questi errori:

    Warning: include(../lib/connessione.php): failed to open stream: No such file or directory in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\portale\web\header.php on line 2

    Warning: include(): Failed opening '../lib/connessione.php' for inclusion (include_path='.;C:\php\pear') in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\portale\web\header.php on line 2

  2. #2
    Utente di HTML.it L'avatar di Disema
    Registrato dal
    Sep 2014
    Messaggi
    63
    Le immagini sono troppo piccole e non si vene nulla, o le rimetti più grandi o semplicemente fia copia e lo incolli tra i tag [php]

  3. #3

    Le cartelle sono messe in questo modo:
    Immagine.jpg

    Il codice all' inizio dell'header è questo:

    [php]
    <?php
    include '../lib/connessione.php'; ;




    ?>
    <html>
    <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
    <link href="CSS/stile.css" rel="stylesheet" type="text/css">
    <script src="script/jquery.js" type="text/javascript"></script>
    <script type="text/javascript" src="script/jquery-1.9.1.min.js"></script>
    <script type="text/javascript" charset="utf-8" src="script/jquery.leanModal.min.js"></script>

    <img src="img/gms.png" alt="Logo Sitech">

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    </head>
    [php]

    nel file della stessa cartella lo richiamo così:
    [php] <?php include ('header.php') ?> [php]

    nel file in una sottocartella dove non mi carica ne CSS ne altro..invece:
    [php] <?php include ('../header.php') ?> [php]

    Ho provato anche con require, ma niente! Mi si blocca subito perchè ovviamente non mi carica nemmeno la connessione.

  4. #4
    Utente di HTML.it L'avatar di Disema
    Registrato dal
    Sep 2014
    Messaggi
    63
    In pratica ti considera la cartella in cui sta il primo file richiamato, ovvero view, con il " .. " sali di una cartella quindi vai su web, e quindi ti funziona, però considera che tu stai ancora nella cartella view, quindi nel file header prova a mettere due volte i punti:
    Codice PHP:
    include ('../../lib/connessione.php'
    Questo lo puoi fare però solo se sei sicuro che che i file che useranno header si trovano dentro view, senno ti darà un errore analogo a questo.

    Adesso non ricordo le funzioni, però ci dovrebbero essere delle variabili globali che ti prendono l'url assoluto, e combiando quello con i tuoi file dovresti poter evitare anche questo problema.

  5. #5
    Non è quello il problema, perchè l errore me lo dà solo nel file dentro a "view". se lo stesso file lo lascio dentro "web" funziona tutto.
    Appena vado a metterlo nell altra cartella invece, mi da errore nella connessione e non mi carica i CSS e le immagini dell'header.
    Capito?

  6. #6
    Utente di HTML.it L'avatar di Disema
    Registrato dal
    Sep 2014
    Messaggi
    63
    Non te li carica perhè appunto il file "principale" quello in cui fai l'include dell'header è quello da cui viene preso l'indirizzo, quindi se sta dentro view e usi una volta i doppi punti passi in web. Quando includi header sei sempre dentro view e quindi mettendo una sola volta i doppi punti vai di nuovo in web, e ovviamente non trova i file infatti:
    Warning: include(../lib/connessione.php): failed to open stream: No such file or directory...

  7. #7
    Ok, ora ho capito! Funziona ma praticamente faccio prima a mettere il percorso di ogni file
    Grazie intanto per la spiegazione, mi sei stato molto utile.

    Conosci per caso una funzione per definire la cartella di root del file?

  8. #8
    Utente di HTML.it L'avatar di Disema
    Registrato dal
    Sep 2014
    Messaggi
    63
    uhm cosa intendi per cartella di root del file? Comunque si un altra soluzione potrebbe essere quella di mettere l'url assoluto, in modo d aevitare tutto, ma questo però se lo script che stai facendo non deve essere spostato da un server a un altro, altrimenti ti tocca poi modificare tutti i file, comq ti dicevo ci dovrebbe essere qualche variabile globale con $_SERVER che ti dovrebbe dare l'indirizzo, ovvero che se usi quella e poi sposto tutto su un altro server non hai bisogno di modificare tutti i file.
    Cmq per quanto riguarda root e tutto il resto in php se ne occupa il file .htacces, però a riguardo non sono molto informato, mi dispiace.

  9. #9
    Ok ho trovato questo:

    [php] define('SITE_ROOT', dirname(__FILE__));
    $file_path = SITE_ROOT ; [php]

    però se metto il percorso assoluto come in questo caso ($file_path è il percorso assoluto):
    <link href="$file_path" rel="stylesheet" type="text/css">

    ..a questo punto non mi carica il CSS. Where is the problem?

  10. #10
    Utente di HTML.it L'avatar di Disema
    Registrato dal
    Sep 2014
    Messaggi
    63
    L'hai messo proprio come hai scritto? Spero sia una svista perchè ci vuole un echo dentro i tag php per visualizzare il valore della variabile. Il resto del codice non saprei purtroppo non me ne intendo.

    P.S. quando devi mettere i dag php devi aprirlo con [ php] e chiuderlo con [/ php] (senza gli spazi)senno non fa niente

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.