Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema function

  1. #1

    problema function



    vado subito al dunque.. ho questo errore:

    Codice PHP:
    Fatal errorCall to undefined function: menu() in [...]\index.template.php on line 36 
    mi dice che nn posso includere Menu();... xke? Menu() si trova in menu.template.php e nel config c'è la variabile $themedir.. cmq questo è il codice della pagina

    Codice PHP:
    include(config.php');
    include($themedir.'/menu.template.php');


    // Riunisco i tag principale per semplificare l'inclusione

    // Header
    function TopHeader()
    {
    ?>
    <html>
    <head>
    <link rel="stylesheet" href="Theme/style.css" type="text/css" />
    </head>
    <body>
    <table cellpadding="0" cellspacing="0" border="0" id="content" align="center">
    <tr>
    <td colspan="3">

    <table cellpadding="0" cellspacing="0" border="0" id="header" align="center">
    <tr>
    <td class="bg-header-left">[img]Theme/img/bg-header-left.gif[/img]</td>
    <td class="bg-header-center" id="logo"></td>
    <td class="bg-header-cut">[img]Theme/img/bg-header-cut.gif[/img]</td>
    <td class="bg-header-center" id="search">

    </td>
    <td class="bg-header-right">[img]Theme/img/bg-header-right.gif[/img]</td>
    </tr>
    </table>




    Menu();

    <?php
    }
    ?>
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  2. #2
    Non capisco due cose in questa funzione.
    Lo script dove prende la variabile $themedir?
    Ad ogni modo, prova a scrivere così:

    Codice PHP:
    include("$themedir/menu.template.php"); 
    Un altra cosa.

    Se vuoi crearti due funzioni una per gli header della pagina ed una per il menù, perché poi richiamarne una dentro l'altra??

    Io ti consiglio di fare così:

    Codice PHP:
    // pagina menu.template.php

    function TopHeader() {
        
    // tutto il codice chedevi metterci
    }

    function 
    Menu() {
        
    // codice del menù

    Nelle pagine che andrai a comporre richiami lo script delle funzioni e fai come segue:
    Codice PHP:
    // pagina xxx.php

    // stampi gli header della pagina
    TopHeader();


    // stampi il menu della pagina
    Menu(); 
    Spero di essere stato chiaro.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  3. #3
    Mi sono dimenticato di specificare, nella prima risposta, che probabilmente l'errore ti viene restituito perché il percorso che porta alla funzione menu() è errato.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  4. #4
    Originariamente inviato da alcio74
    Non capisco due cose in questa funzione.
    Lo script dove prende la variabile $themedir?
    Ad ogni modo, prova a scrivere così:

    Codice PHP:
    include("$themedir/menu.template.php"); 
    Un altra cosa.

    Se vuoi crearti due funzioni una per gli header della pagina ed una per il menù, perché poi richiamarne una dentro l'altra??

    Io ti consiglio di fare così:

    Codice PHP:
    // pagina menu.template.php

    function TopHeader() {
        
    // tutto il codice chedevi metterci
    }

    function 
    Menu() {
        
    // codice del menù

    Nelle pagine che andrai a comporre richiami lo script delle funzioni e fai come segue:
    Codice PHP:
    // pagina xxx.php

    // stampi gli header della pagina
    TopHeader();


    // stampi il menu della pagina
    Menu(); 
    Spero di essere stato chiaro.
    non ho fatto come dici tu anche se quella era la mia intenzione iniziale.. x il semplice fatto che quello che ti ho mostrato è solo una piccola parte di codice.. ne ho ben altro e alla fine dovrei elencare molte funzioni x ricreare la struttura del template

    ho controllato il path e ho fatto come dicevi te e mi da ancora errore.. x il momento ho utilizzato la soluzione che c'è qui sopra ovvero quella di elencare function per function

    Grazie 1000 della disponibilità
    La rovina del mondo sara' l'indifferenza. Ma chi se ne frega!!

  5. #5
    Di nulla!

    Ad ogni modo, mi sembra di avere capito che non hai ancora risolto.
    Perché non provi a mettere nell'include l'indirizzo "vero" dello script?

    Codice PHP:
    include("cartella_include/menu.template.php"); 
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.