Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    4

    Perchè quando chiamo una funzione inclusa...

    Ciao a tutti.

    Sono nuovo del Forum e alle prese con PHP da soli 3 giorni, quindi la soluzione al mio problema dovrebbe essere semplicissima per degli "sgamati" come voi.

    Sto sviluppando un'applicazione per impratichirmi un po' del linguaggio, ma sto perdendo un sacco di tempo a causa del seguente problema:

    - da una pagina contenente una form richiamo un .php che scrive i dati inseriti in una tabella MySQL; prima dell'inserimento effettuo una serie di controlli sul formato dei campi introdotti e, dato che li vorrei riutilizzare anche in altre pagine, i controlli li ho inseriti in un file esterno che includo nel pgm principale con l'istruzione

    require('controlli.php');

    Nel file "controlli.php" richiamo una funzione che effettua un check formale sull'indirizzo email e che, se codificata nel file da dove viene richiamata ("controlli.php"), funziona benissimo: dato però che anche la funzione vorrei riutilizzarla altrove, l'ho codificata nel file "funzioni.php" ed ho inserito una:

    require('funzioni.php');

    in testa al file "controlli.php".

    Risultato:

    function controlloEmail($email){ $result = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email); return $result; }
    Fatal error: Call to undefined function controlloEmail() in D:\PHP\www\sitoprovaPHP\controlli.php on line 22

    Spero di essere stato sufficentemente chiaro, ma per completezza accludo il codice utilizzato.
    Vi ringrazio fin d' ora per l'aiuto che potrete darmi.

    ---------------------
    file inserisciDati.php
    ---------------------

    // Controlli formali
    $checkOK = True;
    $retMsg = "";
    require('controlli.php');
    $retPage = "http://localhost/sitoprovaPHP/inserisciDati.php?msg=" .$retMsg;
    if (!$checkOK) {
    echo "<meta http-equiv=\"refresh\" content=\"0;url=$retPage\">";
    }



    ---------------------
    file controlli.php
    ---------------------

    require('funzioni.php');
    .
    .
    .
    if (!empty($email1) And !controlloEmail($email1)) {
    $retMsg = "Campo EMAIL non valido. Digitare sintassi corretta";
    $checkOK = False;
    }
    .
    .
    .


    ---------------------
    file funzioni.php
    ---------------------

    function controlloEmail($email){
    $result = eregi("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$email);
    return $result;
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2005
    Messaggi
    2,125
    prova a includere con
    include_once('path tua funz');

  3. #3
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    se includi tutto nella pagina principale?

    Codice PHP:
    ---------------------
    file inserisciDati.php
    ---------------------

    // Controlli formali
    $checkOK True;
    $retMsg "";
    require(
    'funzioni.php');
    require(
    'controlli.php');
    $retPage "http://localhost/sitoprovaPHP/inserisciDati.php?msg=" .$retMsg;
    if (!
    $checkOK) {
    echo 
    "<meta http-equiv=\"refresh\" content=\"0;url=$retPage\">";

    cosi funzia?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    4
    Ciao Drugo e grazie per la risposta.

    Quella che hai proposto è stata la prima soluzione che ho adottato: poi, visto che non funzionava ho provato a spostare la require nel secondo file, con identico risultato...

  5. #5
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    molto strano....

    Procediamo per assurdo...usando include? Dovrebbe essere la stessa cosa...ma.....

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    4
    Ciao Stiffa e grazie per la risposta.

    >> include_once('path tua funz');

    In che senso "path"? Il file contenente la funzione si trova sulla stessa directory degli altri...

    Ho provato con

    include_once('funzioni.php');

    ma il problema persiste...

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    4
    Ho provato anche con include...

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.