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

    [mysql]Exp Regolari su campo email

    Si puo' impostare un campo di testo per gli indirizzi email in mysql che accetti solo il formato rispettato nella espressione regolare che consenta un indirizzo con sintassi corretta ?

    faccio già controlli php nelle form ma il db viene alimentato anche da terze parti ed è una rogna mostruosa quando si invia ritrovarsi indirizzi del pippo@p'ddd.

    grazie

  2. #2
    dentro il db non saprei ma con una sola select potresti loopparti tutte le email, verificarne la correttezza, memorizzare l' id in caso di mancata verifica e con un solo delete potresti far fuori tutti gli indirizzi indesiderati
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  3. #3

  4. #4
    Originariamente inviato da pieroseko
    come si fa ?
    a fare cosa ? :master:



    ... select email from tabella


    $mailerror = Array();
    while( fetch ... ) {
    if( preg_match( $reg, $record['email'] ) == false ) {
    array_push( $mailerror, $record['id'] );
    }
    }

    $delete = 'DELETE FROM table WHERE ';
    for( $a = 0, $b = &count( $mailerror ); $a < $b; $a++ ) {
    $delete .= 'ID = "'.$mailerror[$a].'" OR ';
    }

    query( substr( $delete, 0, -4 ) );


    ...
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  5. #5
    a fare questa cosa che hai detto

  6. #6
    Originariamente inviato da pieroseko
    a fare questa cosa che hai detto
    te l' ho accennato e riassunto sopra
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  7. #7

    Re: [mysql]Exp Regolari su campo email

    Originariamente inviato da pieroseko
    Si puo' impostare un campo di testo per gli indirizzi email in mysql che accetti solo il formato rispettato nella espressione regolare che consenta un indirizzo con sintassi corretta ?

    faccio già controlli php nelle form ma il db viene alimentato anche da terze parti ed è una rogna mostruosa quando si invia ritrovarsi indirizzi del pippo@p'ddd.

    grazie
    mmm da quanto so esiste REGEXP che dovresti poter usare per cercare

    se fai il where e metti una negazione della regexp puoi estrarre TUTTI i valori che non sono "validi" ed eliminarli, impostare un valore che li distingue o altro

    http://dev.mysql.com/doc/mysql/en/Regexp.html

  8. #8
    ok nella query
    ma non si puo' impostare tipo la unique questo controllo nel campo ?

  9. #9
    Originariamente inviato da pieroseko
    ok nella query
    ma non si puo' impostare tipo la unique questo controllo nel campo ?
    LOL

    ovviamente no

    invece puoi fare un'altra cosa
    i dati ti vengono passati tramite CSV o tramite dump sql?

    xche se è tramite dump sql basta aggiungere alla fine del dump la riga delete from XYZ where email not regexp 'xxxxx'; e via...se è una csv...allora prima di inserire i dati li controlli

  10. #10
    guarda è un delirio spiegarti tutti i passaggi e le alterazioni che ci passano
    succedono cose assurde

    cmq alla fine penso di lanciare una shell ogni giorno che fa questo controllo con codice php e risolvo tutto

    grazie

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.