Visualizzazione dei risultati da 1 a 8 su 8

Discussione: eseguire funzione

  1. #1
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837

    eseguire funzione

    Ciao a tutti, sono alle prime armi e vorrei far funzionare questa funzione:
    In poche parole come faccio a far funzionare la funzione? devo richiamarla da qualche parte?
    grazie in anticipo
    Codice PHP:
    <html>
    <head><title></title></head>
    <body>
    <?php
    if(isset($_POST['posted'])){
    $pi=$_POST['pi'];
    function 
    ControllaPIVA($pi)
    {
        if( 
    $pi == '' )  return '';
        if( 
    strlen($pi) != 11 )
            return 
    "La lunghezza della partita IVA non &egrave;\n"
            
    ."corretta: la partita IVA dovrebbe essere lunga\n"
            
    ."esattamente 11 caratteri.\n";
        if( ! 
    ereg("^[0-9]+$"$pi) )
            return 
    "La partita IVA contiene dei caratteri non ammessi:\n"
            
    ."la partita IVA dovrebbe contenere solo cifre.\n";
        
    $s 0;
        for( 
    $i 0$i <= 9$i += )
            
    $s += ord($pi[$i]) - ord('0');
        for( 
    $i 1$i <= 9$i += ){
            
    $c 2*( ord($pi[$i]) - ord('0') );
            if( 
    $c )  $c $c 9;
            
    $s += $c;
        }
        if( ( 
    10 $s%10 )%10 != ord($pi[10]) - ord('0') )
            return 
    "La partita IVA non &egrave; valida:\n"
            
    ."il codice di controllo non corrisponde.";
        return 
    '';
    }
    }
    ?>
    <form method="POST" action="partita.php">
    <input type="hidden" name="posted" value="true">
    <input type="text" name="pi">
    <input type="submit" value="controlla partita iva">
    </form>
    </body>
    </html>

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    function blabla($input) {
    
      ...
    
      ...
    
      return $output;
    
    }
    
    
    $var = 1;
    echo blabla($var);
    Un manualino potresti leggertelo però, la pappa pronta è fastidiosa da somministrare...

    ciao

  3. #3
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    ciao ti ringrazio per la risposta.
    il manuale l'ho comprato ho preso quello della wrov beginning PHP5, solamente la teoria e un pò diversa dalla pratica.
    Adesso ho riscritto la funzione in questo modo:
    Codice PHP:
    <html>
    <head><title></title></head>
    <body>
    <?php
    if(isset($_POST['posted'])){
    $pi=$_POST['pi'];
    function 
    ControllaPIVA($pi)
    {
        if( 
    $pi == '' ){  return '';}
         if( 
    strlen($pi) != 11 )
            return 
    "La lunghezza della partita IVA non &egrave;\n"
            
    ."corretta: la partita IVA dovrebbe essere lunga\n"
            
    ."esattamente 11 caratteri.\n";
        if( ! 
    ereg("^[0-9]+$"$pi) )
            return 
    "La partita IVA contiene dei caratteri non ammessi:\n"
            
    ."la partita IVA dovrebbe contenere solo cifre.\n";
        
    $s 0;
        for( 
    $i 0$i <= 9$i += )
            
    $s += ord($pi[$i]) - ord('0');
        for( 
    $i 1$i <= 9$i += ){
            
    $c 2*( ord($pi[$i]) - ord('0') );
            if( 
    $c )  $c $c 9;
            
    $s += $c;
        }
        if( ( 
    10 $s%10 )%10 != ord($pi[10]) - ord('0') )
            return 
    "La partita IVA non &egrave; valida:\n"
            
    ."il codice di controllo non corrisponde.";
        return 
    '';
        

    }
        
    $var 1;
    echo 
    ControllaPIVA($var);
    }


    ?>
    <form method="POST" action="partita.php">
    <input type="hidden" name="posted" value="true">
    <input type="text" name="pi">
    <input type="submit" value="controlla partita iva">
    </form>
    </body>
    </html>
    Solamente quando si esegue lo script vi visualizza direttamente "La lunghezza della partita IVA non è corretta......"
    e poi di quella funzione mi viene controllata strlen($pi) != 11 cioè la lunghezza della stringa.
    Help me!!

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    guarda, la funzione non l'ho letta, fai un po di debug, all'interno della funzione metti un echo che ti mostri la stringa con la lunghezza a schermo, cosi verifichi effettivamente cosa arriva alla funzione.

    Poi in genere le funzioni si mettono fuori dal flusso dello script (tipo all'inizio o in un file esterno).

    Ciao

  5. #5
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    Ho messo la funzione fuori dal resto dello script, ti ringrazio ho risolto così:
    Codice PHP:
    <?php
    function ControllaPIVA($pi)
    {
        if( 
    $pi == '' )  return 'il campo è vuoto';
        if( 
    strlen($pi) != 11 ){
            return 
    "La lunghezza della partita IVA non &egrave;\n"
            
    ."corretta: la partita IVA dovrebbe essere lunga\n"
            
    ."esattamente 11 caratteri.\n";}
        if( ! 
    ereg("^[0-9]+$"$pi) ){
            return 
    "La partita IVA contiene dei caratteri non ammessi:\n"
            
    ."la partita IVA dovrebbe contenere solo cifre.\n";}
        
    $s 0;
        for( 
    $i 0$i <= 9$i += )
            
    $s += ord($pi[$i]) - ord('0');
        for( 
    $i 1$i <= 9$i += ){
            
    $c 2*( ord($pi[$i]) - ord('0') );
            if( 
    $c )  $c $c 9;
            
    $s += $c;
        }
        if( ( 
    10 $s%10 )%10 != ord($pi[10]) - ord('0') )
            return 
    "La partita IVA non &egrave; valida:\n"
            
    ."il codice di controllo non corrisponde.";

    }
    ?>
    <html>
    <head><title></title></head>
    <body>
    <?php
    if(isset($_POST['posted'])){
    $pi=$_POST['pi'];

    echo 
    ControllaPIVA($pi);
    }
    ?>
    <form method="POST" action="partita.php">
    <input type="hidden" name="posted" value="true">
    <input type="text" name="pi">
    <input type="submit" value="controlla partita iva">
    </form>
    </body>
    </html>
    P.S.: ho visto il tuo sito e letto il tuo curriculum, complimenti.

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non mi parlare del mio sito..sono sei mesi che mi sono messo in proprio e non ho ancora avuto il tempo di rifarlo...

    Grazie dei complimenti ma non esagerare se no divento rosso

    ciao

  7. #7
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    scusa se ti scoccio di nuovo ma ti volevo chiedere se mi puoi consigliare qualche manuale sul php.
    Quello che ho adesso è php5 beginning della wrox.
    mi sapresti consigliare qualc'altro.
    Grazie.

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    il libro di cui parli ce l'ho anche io, non è male ma è impostato un po' troppo sulla teoria forse...

    Porva a seguire i percorsi formativi di php.html.it, sono molto semplici e ti fanno "costruire" qualcosa di funzionante da subito.
    Il libro lo tieni come compendio per approfondire ciò che non capisci.

    ciao

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.