Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    Come si sostituisce il comando eregi() in un codice php?

    Il comando eregi() é deprecato e assente dalla versione 6 in poi quindi sarebbe meglio escluderlo nel proprio listato ma con cosa si può sostituire?
    http://it.php.net/manual/en/function.eregi.php

    Sto leggendo l'esempio finale che c'é sulla guida per la programmazione ad oggetti con php e vorrei aggiornare questo metodo:

    Codice PHP:
        public function checkEMail() {
            if(
    is_string($this->email) && eregi('^[a-zA-Z0-9._-]+@[a-zA-Z0-9-]+\.[a-zA-Z.]{2,5}$'$this->email)) {
                echo 
    "

    L'e-mail è stata inviata correttamente.</p>"
    ;
                
    $this->clean['email'] = $this->email;
            }
            else {
                
    $this->trackErrorMsg('email');
            }
        } 
    che trovate ben esposto a questo indirizzo:

    http://php.html.it/guide/stampa_lezi...seconda-parte/

    Grazie come sempre
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  2. #2
    1. le funzioni ereg deprecate si sostituiscono con le funzioni Perl Compatible Regular Expression come preg_match() e preg_replace()
    2. non usare le regular expression per validare le email, la regexp completa e' qualcosa di folle ed ogni versione ristretta porta sempre qualche errore, usa filter_var($email_address, FILTER_VALIDATE_EMAIL)
    3. quelle guide andrebbero davvero aggiornate, o piuttosto anche rimosse perche' lasciate cosi' a diventare obsolete fanno piu' danni che altro

  3. #3
    GRAZIE INFINITE
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  4. #4
    Ti vorrei ancora chiedere una cosa che é banalissima ma io non riesco proprio a comprenderla...

    C'é un pezzo di codice correttissimo ed indispensabile che io non riesco a comprendere:

    Codice PHP:
            // altro
            
    public function setErrorMsgs($errs) {
                    foreach(
    $errs as $err => $txt) {
                            
    $this->errorMsgs[$err] = $txt;
                    }

    In pratica nella funzione c'é la variabile $errs che non é definita da nessuna parte tranne che nell'interfaccia. Io mi aspetterei di vedere "setErrorMsgs($qualcosadinoto)" ed invece no. Sulla guida c'é pure scritta questa frase ma io non riesco a comprenderla e ti sembrerà strano ma ci ho perso tutto il pomeriggio:
    "Il metodo setErrorMsgs infine, accetta un array con coppie key/value impostate rispettivamente a "campo/testo di errore", per personalizzare i messaggi di testo standard forniti dalla classe AFormCheck."

    La fonte é questa:
    http://php.html.it/guide/lezione/429...seconda-parte/

    Mentre i listati completi li trovi qui:
    http://www.html.it/guide/download/oo.../formcheck.zip
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  5. #5
    La variabile $errs e' un parametro della funzione setErrorMsgs, quindi verra' riempita con cio' che passi a quella funzione quando la chiami, e cioe' (dalla documentazione) un array che contiene i nomi dei campi come chiavi e i rispettivi messaggi di errore come valori.

  6. #6
    Originariamente inviato da k.b
    La variabile $errs e' un parametro della funzione setErrorMsgs, quindi verra' riempita con cio' che passi a quella funzione quando la chiami , e cioe' (dalla documentazione) un array che contiene i nomi dei campi come chiavi e i rispettivi messaggi di errore come valori.
    E' proprio questo il punto, non riesco a cepire quel pezzetto "quando la chiami". setErrorMsgs la chiamo solo nell'interfaccia sputandoci dentro la stessa stranissima $errs.
    Deduco che la chiamata sia implicita e venga fatta dal pezzetto:
    foreach($errs as $err => $txt) {
    $this->errorMsgs[$err] = $txt;
    }
    ma mi pare un'astrusità.
    Ho anche notato di aver scritto una fesseria:
    C'é un pezzo di codice correttissimo ed indispensabile
    In realtà non é per nulla vero, omettendo questo pezzo e quello relativo nell'interfaccia il codice funziona alla perfezione ugualmente.
    Non sarà inutile quel codice?
    Scusa se faccio retromarcia ma prima avevo provato ad omettere quelle stringhe e non funzionava più nulla ma sicuramente avevo sbagliato qualcosa.

    Grazie per la tua pazienza
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  7. #7
    Allora, da quello che ho capito leggendo i tuoi messaggi quel codice non e' inutile, ma e' opzionale. In sostanza ci sono dei messaggi di errore di default che possono essere personalizzati - volendo - con quella funzione.

    Comunque, per "chiamare" una funzione, si intende - non so bene come altro dire - "usarla", esempio:

    Codice PHP:
    // definizione della funzione
    function foo($bar) { // la variabile $bar non e' definita, solo dichiarata come parametro
        
    echo $bar;
    }

    // [b]chiamata[/b] alla funzione
    foo('Hello world!'); // con questa riga si chiama la funzione foo() riempiendo 
                         // la *sua* variabile $bar con il valore 'Hello world!' 
    nel tuo caso il metodo probabilmente si chiamera' cosi':
    Codice PHP:
    $array_messaggi_errore = array(
        
    'campo1' => 'Messaggio di errore personalizzato 1',
        
    'campo2' => 'Messaggio di errore personalizzato 2',
        
    'campo3' => 'Messaggio di errore personalizzato 3',
        
    'campo4' => 'Messaggio di errore personalizzato 4',
    );
    $object->setErrorMsgs($array_messaggi_errore); 
    Spero ora sia piu' chiaro.

  8. #8
    HOOO PERBACCO!!!
    ORA SI CHE CI SIAMO!!!

    PROBLEMA RISOLTO

    GRAZIE NUOVAMENTE
    Chi non crede in una cultura libera forse non
    ha mai provato un forum ma chi ha provato
    un forum e non crede in una cultura libera
    allora non é mai stato utile alla
    cultura altrui.

  9. #9
    Originariamente inviato da k.b
    1. le funzioni ereg deprecate si sostituiscono con le funzioni Perl Compatible Regular Expression come preg_match() e preg_replace()
    2. non usare le regular expression per validare le email, la regexp completa e' qualcosa di folle ed ogni versione ristretta porta sempre qualche errore, usa filter_var($email_address, FILTER_VALIDATE_EMAIL)
    3. quelle guide andrebbero davvero aggiornate, o piuttosto anche rimosse perche' lasciate cosi' a diventare obsolete fanno piu' danni che altro
    Questo commento suggerirebbe il contrario...
    http://www.php.net/manual/en/functio...-var.php#95208
    Ciao!

  10. #10
    Beh se il problema e' solo quello e' di facile risoluzione. Meglio della regular expression completa per validare le email:

    codice:
    (?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
    \r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
    ?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ 
    \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
    31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
    ](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
    (?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
    (?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
    |(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
    ?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
    r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
     \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
    ?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
    )*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
     \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
    )(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
    )+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
    *:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
    |\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
    \n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
    \r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
    ]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
    ]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
    ?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
    :(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
    :\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
    :(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
    [ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] 
    \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
    \\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
    @,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
    (?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
    )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
    :[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
    \]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
    \031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
    ?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
    :\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
    ^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
    .\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
    ]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
    [\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
    r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] 
    \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
    |\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
    00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
    .|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,
    ;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
    :[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*
    (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
    \[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
    ^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
    ]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
    ?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
    ?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
    \["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
    ])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
    ])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
    :\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
    \Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
    [^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
    ]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
    ?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
    ()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
    ?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
    @,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
     \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
    ;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
    )*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
    ".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
    (?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
    \[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
    \r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
    "()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
    *))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
    +|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
    .(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
    |(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
    ?:\r\n)?[ \t])*))*)?;\s*)

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.