• User Newbie

    Errori: Variabile db e Query in funzioni separate

    Salve a tutti, vi pongo un problema che non riesco a risolvere.

    Ho una pagina** index.php** che richiama a seconda del valore get altre pagine. Queste pagine contengono delle chiamate a funzioni da me scritte, che sono incluse in index.php

    La struttura della cartella è la seguente:

    **sito
    **

    • Funzioni
    • Pagine
    • index.php

    Nella pagina Funzioni ho i seguenti file: (connect_function.php, get_function.php, edit_function.php, add_function.php).

    Nella pagina Pagine ho il file(general.php, aggiungi.php ).

    In index.php ho eseguito l'include_once(); per ogni file della pagina Funzioni.

    Ricevo continuamente il seguente errore:** Fatal error**: Call to undefined function Get_Note() in /sito/pagine/general.php on line 54.

    Alla riga della pagina general.php richiamo una funzione che si chiama esattamente Get_Note().

    La porzione del codice in general.php è il seguente:

    [php]
    <?php
    if( !isset($_POST["sub_note"]) )
    {
    ?>

                        <form name="notes" enctype="multipart/form-data" method="post" >
                            <div><textarea name="nota"><?php echo Get_Note(); ?></textarea></div>
                            <div><input class="adm_button" type="submit" name="sub_note" value="salva nota"/></div>
                        </form>
                        
                        <?php                                                
                    }
                    else
                    {
                        $nota = strip_tags( $_POST["nota"] );
                        
                        if ( Add_Note($nota) )
                        {
                ?>
                <div class="added">
                    <p>Note modificate con successo.</p>
                </div>
                <?php
                        }
                        else
                        {
                    
                ?>
                <div class="error">
                    <p>Errore nella modifica / aggiunta della nota.</p>
                </div>
                <?php
                        }
                
                ?>
                <form name="notes" enctype="multipart/form-data" method="post" >
                    <div><textarea><?php echo Get_Note(); ?></textarea></div>
                    <div><input class="adm_button" type="submit" name="sub_note" value="salva nota"/></div>
                </form>
                        
                
                <?php
                
                    }
                
                ?>
    

    [/php]Pagina get_function.php
    [php]
    /*********************************************************************
    *

    • Funzioni di visualizzazione

    *********************************************************************/
    error_reporting(E_ALL);

    include_once("connect.function.php");

    function Get_Note()
    {

    $nota = "Nessuna nota. Lasciane una ! =)";
    
    $show_note = "SELECT valore FROM bl_admin_general WHERE nome = 'note' ";
    $do_show_note = mysql_query($show_note, $db);
    
    if( $do_show_note )
    {
        $nota = mysql_fetch_row($do_show_note);
        return $nota[0] ;
    }
    else
    {
        return $nota;
    }
    

    }
    [/php]Il secondo e forse più grande errore è che non riesco ad eseguire le query, e soprattutto mi dice che la variabile $db, che utilizzo per la connessione al database mi dice che non è dichiarata.

    Posto il codice del file connect_function.php
    [php]
    /***********************************************************
    Connect to the database
    ************************************************************/
    //Variabili di connessione al database

    $_CONFIG['host'] = "127.0.0.1";
    $_CONFIG['user'] = "root";
    $_CONFIG['pass'] = "";
    $_CONFIG['dbname'] = "sito";

    $db = mysql_connect($_CONFIG['host'], $_CONFIG['user'], $_CONFIG['pass']);
    if ($db == FALSE)
    die ("Errore nella connessione. Verificare i parametri nel file -> connect.function.php");

    mysql_select_db($_CONFIG['dbname'], $db)
    or die ("Errore nella selezione del database. Verificare i parametri nel file di configurazione");
    [/php]Altri errori che trovo sono i seguenti:
    Notice: Undefined variable: db in sito/functions/add_function.php on line **17

    add_function.php
    **[php]

    /*********************************************************************
    *

    • Funzioni di aggiunta

    *********************************************************************/
    error_reporting(E_ALL);

    function Add_Note($note)
    {

    $insert_note = "INSERT INTO bl_adming_general (nome, valore) VALUES ('note', '".$note."')";
    $do_insert_note = mysql_query($insert_note ,$db) or die("errore: ".mysql_error());
    
    if( $do_insert_note )
    {
        return TRUE;
    }
    else
    {
        return FALSE;
    }
    

    }[/php]Ricordo che i file connect_function.php e tutti gli altri file *_function.php gli ho inclusi in index.php.

    Grazie per le risposte, un saluto.


  • User Newbie

    Ricordo che i file connect_function.php e tutti gli altri file *_function.php gli ho inclusi in index.php.

    Grazie per le risposte, un saluto.[/quote]

    Ho risolto inserendo un global $db;