Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183

    inserire codice html in pagina esterna richiamata tramite la funzione "include"

    Salve,
    dovrei inserire del codice html (una tabella) in una pagina esterna richiamata nella home
    tramite la funzione "include", la pagina esterna contiene le voci del menu.



    A) Questa è la struttura della Home Page:

    - Header

    - Menu <?php include $_SERVER['DOCUMENT_ROOT']."/.../menu.php"; ?>

    - Body




    B) Qesta è la struttura della pagina menu.php

    - Titolo 1 <?php include $_SERVER['DOCUMENT_ROOT']."/.../titolo_1.php"; ?>

    - Titolo 2 <?php include $_SERVER['DOCUMENT_ROOT']."/.../titolo_2.php"; ?>

    - Titolo 3 <?php include $_SERVER['DOCUMENT_ROOT']."/.../titolo_3.php"; ?>




    C) Sintetizzando il mio problema

    Devo inserire il codice indicato sotto tra la voce Titolo 2 e Titolo 3 solamente nella Home Page, quindi la pagina di origine menu.php deve restare invariata.

    <table width="100%" border="1">
    <tr>
    <td></td>
    </tr>
    </table>


    Sapete darmi qualche dritta????
    Grazie e buona giornata a tutti.




  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    86
    Ciao,

    secondo me quello che chiedi non è possibile, non senza andare comunque a modificare la pagina menu.php... lì potresti inserire un controllo in PHP sulla pagina che esegue l'include e agire di conseguenza, ma altrimenti...

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Ciao,
    grazie per la risposta.... però...

    secondo Te che tipo di controllo in PHP dovrei inserire per eseguire l'include?

    Non ho la più pallida idea, se puoi darmi qualche dritta poi mi vado a cercare in rete qualche soluzione ... se esiste ... !!

    Buona giornata.



  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    86
    Certo che con l'include si può fare:

    codice:
    - Titolo 1 <?php include $_SERVER['DOCUMENT_ROOT']."/.../titolo_1.php"; ?>
    
    - Titolo 2 <?php include $_SERVER['DOCUMENT_ROOT']."/.../titolo_2.php"; ?>
    
    <?php
    
    if ($nome_pagina_attuale == $nome_pagina_dove_mostrare_tabella) {
    
    echo "<table width=\"100%\" border=\"1\"><tr><td> </td></tr></table>"; // occhio all'escape delle " dentro la stringa!
    
    } // in questo modo mostri la tua tabella dentro la pagina (o le pagine) desiderate
    
    ?>
    
    - Titolo 3 <?php include $_SERVER['DOCUMENT_ROOT']."/.../titolo_3.php"; ?>
    Fammi sapere

    Ah, è chiaro che la tua pagina dovrà avere ora estensione .php...

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Lo provo subito e ti faccio sapere,
    per quanto riguarda l'estensione .php non c'è nessun problema .... sono tutte in .php

    Grazie mille.


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    ho qualche piccolo problema,
    in un primo momento mi dava il seguente errore:

    Notice: Undefined variable: titolo_2 in C:\Programmi\EasyPHP5.2.10\www\prova\menu.php on line 24

    poi ho apportato la seguente modifica:
    <?php
    $titolo_2 = array('progetti.php');


    if ($titolo_2 == $titolo_2) {

    echo "<table width=\"100%\" border=\"1\"><tr><td bgcolor=\"#990000\">Sottotitolo 2 </td></tr></table>"; // occhio all'escape delle " dentro la stringa!

    } // in questo modo mostri la tua tabella dentro la pagina (o le pagine) desiderate

    ?>

    solo che la tabella rimane visibile in ogni pagina .....
    come avrai capito non sono un esperto di .php sicuramente sbaglio qualche cosa.


  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    86
    ... e certo, che razza di controllo è
    codice:
    $titolo_2 == $titolo_2
    è come se ti chiedessi "2 è uguale a 2?"

    No, in una delle due variabili ci devi mettere il nome della pagina attualmente caricata, nell'altre, il nome della pagina che stai cercando (per cui vale, appunto, l'uguaglianza impostata).

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    ti posto tutto il codice della pagina perchè continuo ad avere problemi, ho apportato le modifiche adesso la tabella nascosta non si vede su nessuna delle pagine ...... giustamente è "nascosta" !!!!


    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Documento senza titolo</title> 
    </head>  
    
    <body> 
    
    <table width="300" border="1">   
    <tr>     
    <td bgcolor="#FFFF00">Titolo 1</td>   
    </tr> 
    </table> 
    
    <table width="300" border="1">   
    <tr>     
    <td bgcolor="#66FF33">Titolo 2</td>   
    </tr> 
    </table>  
    
    <?php 
    
    $titolo_1 = array('home.php'); 
    $titolo_2 = array('progetti.php');   
    
    if ($titolo_1 == $titolo_2) {  echo "<table width=\"100%\" border=\"1\"><tr>
    <td bgcolor=\"#990000\">Sottotitolo 2 </td></tr></table>"; 
    // occhio all'escape delle " dentro la stringa!  } 
    // in questo modo mostri la tua tabella dentro la pagina (o le pagine) desiderate  
    
    ?>  
    
    
    <table width="300" border="1">   
    <tr>     
    <td bgcolor="#FF99CC">Titolo 3</td>   
    </tr> 
    </table>  
    
    </body> 
    </html>

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    86
    Devi assegnare a $titolo_2 il nome della pagina che stai visualizzando in quel momento, non un valore statico.

    Usa questo codice:

    Codice PHP:
    $titolo_2 basename($_SERVER['PHP_SELF']); 
    e fammi sapere

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    183
    Ciao Corwin86 credevi fosse finita così ..... ?!!!?!?

    Ti posto i tre file .php che stò usando ..... non riesco a trovare una soluzione,
    ho fatto tutti i tentativi possibili pure applicando della varianti del tipo:

    $titolo2 = basename($_SERVER['SCRIPT_NAME']);

    oppure

    $titolo2 = __FILE__;

    e quella consigliata da te

    $titolo2 = $_SERVER['PHP_SELF'];



    La tabella continua a rimanere nascosta, sicuramente c'è qualche cosa di base che non riesco a far funzionare nella maniera giusta.

    Ancora grazie per la tua pazzienza.




    menu.php
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Documento senza titolo</title> 
    </head>  
    
    <body> 
    <table width="300" border="1">   
    <tr>     
    <td bgcolor="#FFFF00">Titolo 1</td>   
    </tr> 
    </table> 
    
    <table width="300" border="1">   
    <tr>     
    <td bgcolor="#66FF33">Titolo 2</td>
    </tr> 
    </table>  
    
    <?php 
    $titolo_1 = basename($_SERVER['PHP_SELF']); 
    $titolo_2 = array('progetti.php');
    
    if ($titolo_1 == $titolo_2) {  
    echo "<table width=\"100%\" border=\"1\">
             <tr>
             <td bgcolor=\"#990000\">Sottotitolo 2 </td>           
             </tr>
             </table>";
              } 
    ?>
    
    <table width="300" border="1">
    <tr>
    <td bgcolor="#FF99CC">Titolo 3</td>
    </tr>
    </table>
    
    
    </body>
    </html>

    home.php
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>titolo 1</title> 
    </head>  
    
    <body> 
    <table width="100%" border="1">   
    <tr>     
    <td bgcolor="#CCCCCC">
    <?php include $_SERVER['DOCUMENT_ROOT']."/prova/menu.php"; ?></td>     
    <td bgcolor="#CCFF99">testo</td>   
    </tr> 
    </table> 
    
    </body> 
    </html>



    progetti.php
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>titolo 2</title> 
    </head>  
    
    <body> 
    <table width="100%" border="1">   
    <tr>     
    <td bgcolor="#CCCCCC">
    <?php include $_SERVER['DOCUMENT_ROOT']."/prova/menu.php"; ?></td>     
    <td bgcolor="#CCFF99">testo</td>   
    </tr> 
    </table> 
    
    </body> 
    </html>

    In pratica la tabella si deve vedere solo nella pagina progetti e non nella home, ma questo già lo sai.....
    ciao e buona giornata.


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.