Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Connesso al db ma non eseguo query - errori in chiamate funzioni

    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:

    Codice 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">
                        

    Note modificate con successo.</p>
                    </div>
                    <?php
                            
    }
                            else
                            {
                        
                    
    ?>
                    <div class="error">
                        

    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
                    
                        
    }
                    
                    
    ?>
    Pagina get_function.php
    Codice 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;
        }


    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
    Codice 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"); 
    Altri errori che trovo sono i seguenti:
    Notice: Undefined variable: db in sito/functions/add_function.php on line 17

    add_function.php
    Codice 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;
        }
       

    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.

  2. #2
    in general.php hai incluso get_function.php?

    le funzioni Get_Note() e Add_Note() non conoscono $db, puoi passarglielo come argomento oppure mettere un

    Codice PHP:
    global $db
    « Se nella prima mezz'ora non capisci chi è il pollo, allora il pollo sei tu. » [Thomas "Amarillo Slim" Preston, campione del mondo di poker]

  3. #3
    Bene, ora sembra funzionare.

    Ho incluso in tutte le pagine i file di connessione e dei file funzione.
    Inoltre ho aggiunto per ogni file funzione, in cima, il global $db; che mi hai consigliato.
    Inoltre l'ho aggiunto in ogni funzione per esserne sicuro.

    Ora sembra andare tutto =)


    Grazie mille.

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.