Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    controllo email da form

    ragazzi so che è una domanda generica e banale ma qualcuno può spiegarmi se c'è un metodo ,valido e testato per controllare bene l'inserimento della email in un form di registrazione da parte dell'utente?

    oh meglio io controllo che esista una @ nel testo ma se uno mi scrive 1@1.it è quasi inutile il controllo giusto?

  2. #2
    Io di solito faccio così:
    Codice PHP:
    function check_email($mail_address) {
        
    $pattern "/^[\w-]+(\.[\w-]+)*@";
        
    $pattern .= "([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})$/i";
        if (
    preg_match($pattern$mail_address)) {
            
    $parts explode("@"$mail_address);
            if (
    checkdnsrr($parts[1], "MX")){
                  return 
    true;
            } else {
                  return 
    false;
            }
        } else {
              return 
    false;
        }


  3. #3
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    bhe grazie mille lo testo subito

    ma dato che non ho mai usato le function

    mi potresti dire uan cosa......la mia pagina ha diversi if switch else ,la funzione devo inserirla per forza all'interno dell' if della form? oppure può rimanere anche subito prima o subito dopo isolata?

    grazie mille

  4. #4
    La funzione va dichiarata prima di usarla così come te l'ho scritta..
    Dopo la usi semplicemente come una qualunque altra funzione...
    Codice PHP:
    if(!check_email($mail)) echo "Errore mail" else echo "Mail valida"

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    scusatemi se insisto ma non riesco ad integrarla dovreste darmi una mano se possibile

    il codice è questo e vorrei inserire la funzione:
    Codice PHP:

    if($_POST['nome']&&$_POST['cognome']&&$_POST['email']&&$_POST['password']&&$_POST['scelta']&&$_POST['commento'] !=''  )

    {
    $query="SELECT nome,cognome FROM preventivi WHERE nome='$nome'AND cognome='$cognome'";
    $resmysql_query($query);
    $num_rows=mysql_num_rows($res);
    switch(
    $num_rows)
                {
    case 
    "0":

    $query=mysql_query("INSERT INTO preventivi(nome,cognome,email,password,scelta,commento,data,orario,risposta) VALUES('$nome','$cognome','$email','$password','$scelta','$commento','$data','$orario','no') ") or die(mysql_error('compila per bene i campi'));
      echo 
    '<a style="color:#ff0000;">Dati inseriti</a>';

    break;

    case 
    "1":
    echo 
    '<a style="color:#ff7600;">Dati gi&agrave; esistenti</a>';
    break;

              }
        }
    else{echo
    '<a style="color:#ff5600;">Devi riempire tutti  campi</a>';}
    ?> 

  6. #6
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ciao , bhe se devi inserirla per effettuare un controllo al campo prima di scriverlo su db
    ti direi di inserirla dopo aver dichiarato la tua variabile con all'interno il valore della tua mail!
    Normalmente creo un foglio esterno che include tutte le funzioni per il controllo in maniera da poterlo importare ovunque io voglia!

  7. #7
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ah quindi tu dici dopo il primo if?

  8. #8
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    ovviamente nel db dovranno entrare solo dati puliti ...

    tu la funzione la puoi inserire appena dichiarata la tua variabile contenente la mail

    Codice PHP:
    if($_POST['nome']&&$_POST['cognome']&&$_POST['email']&&$_POST['password']&&$_POST['scelta']&&$_POST['commento'] !=''  )

    {
    [
    color=red]qui[/color]
    $query="SELECT nome,cognome FROM preventivi WHERE nome='$nome'AND cognome='$cognome'";
    $resmysql_query($query); 
    ma non basta inserirla e per magia funziona...
    Codice PHP:
    function check_email($mail_address) { 
    dentro la funzione devi passarci la tua stringa mail!

    ...

    io ti consiglio di inserire tutte le tue funzioni in un foglio esterno per diversi motivi...


    in un domani ti porti le tue funzioncine a spasso e le metti in qualunque progetto.
    e poi basta includere la pagina e dichiarare il nome della funzione per farla scattare.

    ciò ha anche degli svantaggi, sta a te decidere!

  9. #9
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    cosi andrebbe bene?
    Codice PHP:

    if($_POST['nome']&&$_POST['cognome']&&$_POST['email']&&$_POST['password']&&$_POST['scelta']&&$_POST['commento'] !=''  )

    {

    $_POST['email']=$mail_address;
    include(
    "function_mail.php");

    $query="SELECT nome,cognome FROM preventivi WHERE nome='$nome'AND cognome='$cognome'";
    $resmysql_query($query); 
    dove function_mail.php contiene la funzione?

  10. #10
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    NO
    ti spiego subito il perche...
    tu stai inserendo all'interno di $_POST[''] $mail_address

    dove $mail_address non sta a niente... o meglio è una variabile vuota.

    dopodiche leggi un foglio dove si presuppone tu abbia la funzione.


    ora :

    se tu hai una funzione :

    function pippo ($var){blablabla}

    e la includi,(perchè in un foglio esterno)

    dovrai prima far leggere (a php) la tua funzione e poi elaborare la tua ariabile al suo interno.

    se tu dichiari $mail = "ciccio@settalamail.com";

    e poi includi il foglio

    e poi richiami la funzione tipo

    $vediamosefuniona = pippo($mail)

    vedrai che la tua funzione dovrebbe funzionare ... scusa il gioco di parole!

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.