- Home
- Categorie
- Coding e Sistemistica
- PHP
- Errori: Variabile db e Query in funzioni separate
-
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 **17add_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.
-
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;