Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    152

    Eseguire funzioni da file esterno

    Salve . Sto cercando di raggruppare tutte le funzioni + comuni che mi serviranno per tutto il sito , in un file esterno in include/function.php
    In questa pag ad esempio ho creato una funzione :
    Codice PHP:
    function countvideo()
    {
    $db mysql_connect($db_host$db_user$db_password);
    mysql_select_db($db_name$db);
    $query "SELECT IDvideo FROM video";
    $result mysql_query($query$db);
    $totale mysql_num_rows($result);
    return 
    $totale ;

    Ad inizio pag ho incluso il file config.inc.php dove ci sono le informazioni per la connessione .
    Questa query mi dovrebbe ridare il totale dei video inseriti .. il numero .. intanto, è giusta ?
    Ora , vorrei eseguire questa query in diverse pagine , fra cui la index .
    ad inizio pagina ho incluso la include/function.php .
    a metà pagina (in mezzo a del codice html) , ho inserito
    Codice PHP:
        <?php 
        countvideo
    ()
        
    ?>
    Ma , all'apertura della index ricevo diversi errori di questo tipo : Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /web/htdocs/.../include/function.php on line 60

    Non riesco a capire dove sbaglio . Fra l'altro se prendo il corpo della funzione e lo faccio eseguire direttamente nella index.php , questo mi ritorna il risultato giusto .
    Grazie a chi mi da una mano !!!
    non so

  2. #2
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    non funziona perchè devi passare le variabili di connessione alla funzione.
    se inserisci error_reporting(E_ALL); ad inizio pagina vedrai comparire come per magia alcuni notice

    maggiori info sugli argomenti delle funzioni:
    http://www.php.net/manual/it/functions.arguments.php


    think simple think ringo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    152

    Re: Eseguire funzioni da file esterno

    [supersaibal]Originariamente inviato da cisi
    Salve . Sto cercando di raggruppare tutte le funzioni + comuni che mi serviranno per tutto il sito , in un file esterno in include/function.php
    In questa pag ad esempio ho creato una funzione :
    Codice PHP:
    function countvideo()
    {
    $db mysql_connect($db_host$db_user$db_password);
    mysql_select_db($db_name$db);
    $query "SELECT IDvideo FROM video";
    $result mysql_query($query$db);
    $totale mysql_num_rows($result);
    return 
    $totale ;

    Ad inizio pag ho incluso il file config.inc.php dove ci sono le informazioni per la connessione .
    Questa query mi dovrebbe ridare il totale dei video inseriti .. il numero .. intanto, è giusta ?
    Ora , vorrei eseguire questa query in diverse pagine , fra cui la index .
    ad inizio pagina ho incluso la include/function.php .
    a metà pagina (in mezzo a del codice html) , ho inserito
    Codice PHP:
        <?php 
        countvideo
    ()
        
    ?>
    Ma , all'apertura della index ricevo diversi errori di questo tipo : Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /web/htdocs/.../include/function.php on line 60

    Non riesco a capire dove sbaglio . Fra l'altro se prendo il corpo della funzione e lo faccio eseguire direttamente nella index.php , questo mi ritorna il risultato giusto .
    Grazie a chi mi da una mano !!! [/supersaibal]
    Grazie per la dritta .. in effetti aggiungendo quella stringa si capisce che il problema sta nel passaggio delle variabili di connessione alla funzione .
    In realtà pensavo che includendo il file di configurazione nella pag function.php queste venissero 'prese' anche dalla funzione che sta al suo interno , evidentemente mi sbagliavo

    Quindi sapresti/e dare una dritta su come passare le varie variabili $db_host, $db_user, $db_password alla funzione ?
    Grazie
    non so

  4. #4
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    think simple think ringo

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    152
    hmm .. grazie cmq , ma non son riuscito a capire molto bene la pillola ..
    In pratica ho 3 file da gestire :
    config.inc.php
    Elenco le variabili di connessione :
    $db_host = "*";
    $db_user = "*";
    $db_password = "*";
    $db_name = "*";
    function.php
    dove voglio raggruppare le varie funzioni da usare nelle varie php
    e
    index.php (o altre)
    dove voglio far eseguire le varie funzioni ..
    Ho provato a capire le var superglobali , ma non riesco a capire come fare a gestirle .
    Se potessi spiegarmi
    Grazie comunque !
    non so

  6. #6
    Moderatore di Server Apache L'avatar di marketto
    Registrato dal
    Sep 2001
    Messaggi
    5,858
    eccoti 3 semplici esempi per capire le varie possibilità:
    codice:
    $a = 5;
    $GLOBALS['a'] = $a;
    function pippo(){
    	echo $GLOBALS['a'];
    }
    pippo();
    codice:
    $a = 5;
    function pippo(){
    	global $a;
    	echo $a;
    }
    pippo();
    codice:
    $a = 5;
    function pippo($a){
    	echo $a;
    }
    pippo($a);


    think simple think ringo

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2003
    Messaggi
    152
    Risolto , grazie mille !!! Per ora includendo il global , ora mi studio meglio la variabile 'superglobale' !!
    Ciauzzz
    non so

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 © 2026 vBulletin Solutions, Inc. All rights reserved.