Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    controllo email inserite

    nell'elenco dell'anagrafica degli utenti iscritti al mio sito vorrei evidenziare quelli che non hanno compilato il campo email al momento dell'iscrizione, ho provato a fare così ma non funziona:

    Codice PHP:
    <?php
    if ($row['email']!='@'){ 
    ?>
    <span class="testo_rosso_bold">manca email</span>
    <?php
    }
    else { 
    ?>

    <?php
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    if (strlen($row['email']) == 0)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da nicola75ss
    if (strlen($row['email']) == 0)
    Grazie Nicola,
    ho provato a fare come dici tu, e funzionerebbe se non fosse che comunque qualche iscritto ha riempito comunque il campo email, mettendo ad esempio delle lettere a caso: sdfgsdfg
    in questo caso, però col tuo codice me lo segnala come email compilata, in realtà ha solo messo delle lettere a casaccio, non c'è un controllo che verifica se tra quelle lettere c'è anche una @ ?

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Ah scusa. Nel caso debba verificare che la mail sia scritta in un formato corretto puoi usare questa funzione di andr3a

    codice:
    function checkMail( $m ) {
      // andr3a / HTML.IT
      $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
      $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
      return preg_match($r, $m);
    }
    $str = 'sdfgsdfg';
    echo checkMail($str) ? 'corretta' : 'sbagliata';
    al posto di corretta o sbagliata metti il codice che vuoi.


  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ho scritto (anche se non'ho capito perchè tra gli apici ho dovuto mettere sdfgsdfg),

    Codice PHP:
    <?php
    function checkMail$m ) {
      
    // andr3a / HTML.IT
      
    $r "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
      
    $r "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
      return 
    preg_match($r$m);
    }
    $str 'sdfgsdfg';
    echo 
    checkMail($str) ? 'corretta' 'sbagliata';
    ?>
    ma mi da errore:

    Fatal error: Cannot redeclare checkmail() (previously declared in /web/htdocs/www.sito.it/home/pann_contr_comune/include_admin_case1_elenco_ana_utenti.php:110) in /web/htdocs/www.sito.it/home/pann_contr_comune/include_admin_case1_elenco_ana_utenti.php on line 110

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Il mio era un esempio. Tu passerai alla funzione checkMail direttamente $row['email'].

    L'errore è chiaro. Hai dichiarato più volte la stessa funzione da qualche parte nel tuo codice.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ora ho messo questo nella query:

    Codice PHP:
    function checkMail$m ) {
      
    // andr3a / HTML.IT
      
    $r "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
      
    $r "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
      return 
    preg_match($r$m);
    }
    $str '@'
    e ora l'errore non me lo da più.

    Poi ho messo questo:

    Codice PHP:
    <?php
    echo checkMail($str) ? 'corretta' 'sbagliata';
    ?>
    ma mi stampa sempre corretta, anche quando l'email non c'è

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da prinzart
    ora ho messo questo nella query:

    Codice PHP:
    function checkMail$m ) {
      
    // andr3a / HTML.IT
      
    $r "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
      
    $r "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
      return 
    preg_match($r$m);
    }
    $str '@'
    e ora l'errore non me lo da più.

    Poi ho messo questo:

    Codice PHP:
    <?php
    echo checkMail($str) ? 'corretta' 'sbagliata';
    ?>
    ma mi stampa sempre corretta, anche quando l'email non c'è
    Non ti sto seguendo. Se come stringa passi solo la chiocchiola la funzione ti dirà che il formato della mail è sbagliato. Poco ma sicuro.
    Ti ripeto, devi passare alla funzione come parametro $row['email'].

    edit.
    Ti rincollo la funzione

    codice:
    function checkMail( $m ) {
      // andr3a / HTML.IT
      $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
      $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
      return preg_match($r, $m);
    }
    I tag php del forum non vanno d'accordo con le espressioni regolari e si "mangiano dei caratteri".

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    ora ho fatto così, ma non'è cambiato niente:

    Codice PHP:
    $m = ($row['email']);

    function 
    checkMail$m ) {
      
    // andr3a / HTML.IT
      
    $r "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
      
    $r "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
      return 
    preg_match($r$m);


  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    codice:
    function checkMail( $m ) {
      // andr3a / HTML.IT
      $r = "([a-z0-9]+[\._\-]?){1,3}([a-z0-9])*";
      $r = "/(?i)^{$r}\@{$r}\.[a-z]{2,6}$/";
      return preg_match($r, $m);
    }
    
    while ($row = mysql_fetch_assoc($query)) {
    echo checkMail($row['email']) ? 'corretta' : 'sbagliata'; 
    }

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.