Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: Controllo campi Form.

  1. #1

    Controllo campi Form.

    Salve, ho un nuovo problema :P
    Ho realizzato uno script PHP per effettuare la registrazione ad un sito, vi ho messo i vari check per verificare che non vengano immesse stringhe vuote nei campi e ho fatto l'escape di apici, vergolette e backslash.

    Ora però ho due problemi:
    il form è composto da 5 campi (username, password, conferma password, e-mail, conferma e-mail) più un bottone "submit".
    Io vorrei fare in modo che in tutti e 5 i campi, non possano essere inseriti questi caratteri:
    codice:
    |!"£$%&/()=?^*°§;:,[]@#
    praticamente voglio lasciare accessibili solo i caratteri punto (.), meno (-) e underscore (_) per i campi username, password e conferma password, e abilitare anche la at (@) per i campi e-mail e conferma e-mail.
    So che è una cosa fattibile, ma non ho idea di come fare, mi potreste aiutare?

    L'altro problema è che vorrei far in modo che i campi e-mail e conferma e-mail vengano accettati solo ed esclusivamente se nella stringa inserita sono presenti domini e-mail validi.
    Per intenderci, se uno scrive h@y.it, lo script deve automaticamente negargli la registrazione. Ma deve invece accettarla se i domini inseriti sono:
    Gmail, hotmail (compreso msn.com), yahoo mail, fastweb ecc.. poi li inserisco io i vari domini uno per uno, mi basta che mi aiutiate a capire come creare uno script d'esempio per fare questo, poi me lo studio io per bene

    Grazie in anticipo

  2. #2
    lascia perdere l'idea di inserire i domini a mano, non finiresti mai.... Calcola che ogni sito ha un dominio suo... cosa fai, metti a mano tutti i siti del mondo?



    Per quanto riguarda i caratteri leggiti la guida in merito a strpos
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  3. #3
    Originariamente inviato da djhell
    lascia perdere l'idea di inserire i domini a mano, non finiresti mai.... Calcola che ogni sito ha un dominio suo... cosa fai, metti a mano tutti i siti del mondo?

    Vero, a questo particolare non avevo pensato xD

    Per quanto riguarda i caratteri leggiti la guida in merito a strpos
    Questa della documentazione ufficiale: http://it.php.net/manual/it/function.strpos.php?

  4. #4
    sì basta che faio un controllo del genere:

    Codice PHP:
    <?php
    $errore 
    NULL;
    $noChars "|!"£$%&/()=?^*°§;:,[]@#";
    $frase "ciao_&_tutti";
    for (
    $i=0$i<strlen($frase); $i++) {
       for (
    $x=0$x<strlen($noChars); $x++) {
          if (
    strpos($frase$i) == strpos($noChars$x))
            
    $errore 1;
          if (
    $errore) break();
       }
       if (
    $errore) break();
    }
    if (
    $errore) echo "immesso carattere non valido!";

  5. #5
    scusa ma hai fatto un doppio if per il cazz... oltre all'essere sbagliato (ad occhio)

    ne basta uno:



    for ($i=0; $i<strlen($lettere_escluse); $i++) {

    if (strpos($testo,$lettere_escluse{$i}) === true)
    {
    $errore = 1;
    break();
    }

    }

    Con il tuo ciclo, si ferma solo se nella frase la lettera compare nello stesso posto nelle 2 frasi date in pasto...
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  6. #6
    Vi ringrazio entrambi per le dritte, ma una cosa nel codice postato da djhell non ho capito.

    Originariamente inviato da djhell
    Codice PHP:
    for ($i=0$i<strlen($lettere_escluse); $i++) {

    if (
    strpos($testo,$lettere_escluse{$i}) === true)
    {
    $errore 1;
    break();
    }


    Alla seconda riga, compare la sintassi $lettere_escluse{$i} e, scusami per l'ignoranza, ma proprio non ci arrivo a capire cosa significhino le parentesi graffe con all'interno la variabile $i. E' la prima volta che vedo una cosa del genere.

  7. #7
    vai a leggere il carattere alla posizone $i della stringa...

    $variabile = "ciao";

    echo $variabile{2}; //stampa: i

    e per togliere ogni dubbio, vanno messi 3= con strpos, ===... non è un errore di battitura il mio

    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  8. #8
    Originariamente inviato da djhell
    vai a leggere il carattere alla posizone $i della stringa...

    $variabile = "ciao";

    echo $variabile{2}; //stampa: i

    e per togliere ogni dubbio, vanno messi 3= con strpos, ===... non è un errore di battitura il mio

    Si il fatto dell'operatore di identicità l'ho letto nella documentazione ufficiale: oltre a verificare se due variabili sono uguali, verifica anche se sono dello stesso tipo.
    Ma mi spiace, il tuo script non lo capisco lo stesso

  9. #9
    cosa c'è da capire?

    metti in $lettere_escluse le lettere che non vuoi avere:

    $lettere_escluse = "%&/()=!^"; //per esempio

    il ciclo và a leggere lettera per lettera... perchè con la graffa, leggi l'elemento iesimo della stringa...

    Pensa alle {} come pensi le [] per gli array.... ecco, le graffe sono per accedere ai caratteri delle sringhe.
    ...::: DESIDERARE E' UMANO :::...
    ...::: POSSEDERE E' DIVINO :::...
    ...::: HAVE A NICE DAY :::...
    (¯`·.¸¸.->ĐĮ ĦΞŁŁ<-.¸¸.·`¯)
    http://www.djhellclub.com

  10. #10
    Ok capito, grazie mille

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.