Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470

    Controllo esistenza di una email

    Ciao a tutti,

    Ho trovato questo codice che controlla se l'e-mail esiste o no:

    function controllaEmail($email) {
    $e = explode("@",$email);
    if(count($e) <= 1) {
    return FALSE;
    } elseif(count($e) == 2) {
    $ip = gethostbyname($e[1]);
    if($ip == $e[1]) {
    return FALSE;
    } elseif($ip != $e[1]) {
    return TRUE;
    }
    }
    }
    if(!cntrollaEmail($email)) {
    echo "Email invalida!";
    } else {
    echo "Email Ok!";
    }

    Vorrei sapere come posso cambiare questo script cosi:

    dopo l'invio se email esiste va alla mia pagina "grazie.php" e se l'email non esiste va alla pagina "errore.php".

    Dimenticavo: Ma funziona veramente, ossia fa il controllo sicuro?

    Grazie del vostro aiuto!
    :::::::::::::::::::::::::

  2. #2
    Non ho controllato lo script comunque:


    if(!cntrollaEmail($email)) {
    echo "Email invalida!";
    ?>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=./errore.php">
    <?
    } else {
    echo "Email Ok!";
    ?>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=./grazie.php">
    <?
    }

  3. #3
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470
    Scusami federikakordano ma ho sbagliato io.
    In realtà vorrei che se email non esiste va direttamente alla pagina errore.php senza il messaggio "Email invalida!" e il controllo si ferma li nella pagina errore.

    Grazie.

  4. #4
    Originariamente inviato da pariri
    Scusami federikakordano ma ho sbagliato io.
    In realtà vorrei che se email non esiste va direttamente alla pagina errore.php senza il messaggio "Email invalida!" e il controllo si ferma li nella pagina errore.

    Grazie.
    togli echo "E-mail invalida";

  5. #5
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470
    Allora ho fatto cosi:

    if(!controllaEmail($email)) {
    ?>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=./errore.php">
    <?
    }

    Se l'email non esiste va alla pagina "errore" però fa comunque il controllo e invia il form, anche se poi mi arriva un messaggio "delivery..." dicendo appunto che non esiste l'email.
    Vorrei proprio bloccare l'invio.
    Come posso fare?


    Grazie.

  6. #6
    Per il controllo della validità della mail io uso questa funzioncina:

    codice:
    function is_validmail($email){
    	if(eregi("^[a-z0-9_.+-][_\.a-z0-9+-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})",$email)){ 
    		return true; 
    	}else{ 
    		return false;
    	}
    	/*TMCH*/return false;
    }

  7. #7
    Utente di HTML.it L'avatar di pariri
    Registrato dal
    Jul 2003
    Messaggi
    1,470
    Questo script non controlla se l'utente a digitato qualcosa sbagliata, ma controlla lato server se l'email esiste o no.
    Uso gia un script simile per un controllo lato client(js).

  8. #8
    ti manda ugualmente l'email perchè anche se tu usi il refresh, prosegue a leggere la pagina e ad eseguire ciò che sta sotto. Percui controlla le if cioè se manda ugualmente l'email è perchè esegue un'istruzione mail; la funzione controllaEmail non spedisce nulla .

    if(!cntrollaEmail($email)) {
    ?>
    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=./errore.php">
    <?
    } else {
    fai tutto il resto
    }

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.