verifica della @

monigna82

Nuovo Utente
22 Ago 2011
2
0
0
salve a tutti
avrei bisogno, in una form, di poter fare un controllo sul campo mail.

Ovviamente non chiedo di verificare che l'indirizzo sia realmente esistente ma quanto mano che l'utente che mi lascia la mail inserisca una stringa di testo contenente la "@".

La mia form è stata realizzata con HTML:
codice:
HTML:
<!-- controllo sui campi -->
<script type="text/javascript" language="javascript">
function checkrequired(which){
var pass=true
if (document.images){
for (i=0;i<which.length;i++){
var tempobj=which.elements[i]
if (tempobj.name.substring(0,8)=="required"){
if
(((tempobj.type=="text"||tempobj.type=="textarea")&&tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&tempobj.selectedIndex==-1)){
pass=false
break
}
}
}
}
if (!pass){
alert("I campi sono obbligatori. Clicca su OK e compila il modulo")
return false
}
else
return true
}
</script> 
<!-- fine controllo dei campi -->


<form onSubmit="return checkrequired(this)" action="mail.php" method="post">
<table width="30%" align="center" >
    <tr>
     <td width="30%" align="right" class="style4"><strong>Nome </strong>* </td>
     <td width="70%" align="right">
       <div align="left">
         <input type=text name="requirednome" size="30" />
         <br />
    </div></td></tr>
<tr>
     <td width="30%" align="right" class="style4"> <strong>E-mail </strong>* </td>
     <td width="70%" align="right"><div align="left">
       <input type=text name="requiredmail" size="30" />
        </div></td></tr>
<tr>
     <td colspan="2"><div align="center">       <br />
     <input type="submit" name="submit" value="Iscrivimi">
     </div></td>
     </tr>
     </table>
</form>


e di una pagina di risposta mail.php :
codice:
PHP:
 <?php
 // L'INDIRIZZO DEL DESTINATARIO DELLA MAIL
 $to = "[email protected]";
 
 // IL SOGGETTO DELLA MAIL
 $subject = "Iscrizione dal sito web";
 
 // COSTRUZIONE DEL CORPO DEL MESSAGGIO
 $body = "Dati per Invio Newsletter:\n\n";
 
 $body .= "nome: " . trim(stripslashes($_POST["requirednome"])) . "\n";
 $body .= "mail: " . trim(stripslashes($_POST["requiredmail"])) . "\n";
 
 // INTESTAZIONI SUPPLEMENTARI
 $headers = "From: Iscrizione <INDIRIZZO-COME-SOPRA>";
 
 // INVIO DELLA MAIL
 if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE...
 
 echo "L'iscrizione è avvenuta con successo.";
 
 } else {// ALTRIMENTI...
 
 echo "Si sono verificati dei problemi nell'invio della mail.";
 
 }
 
 ?>


Cosa posso aggiungere e dove per poter costringere l'utente ad usare almeno la @ nel campo relativo alla mail?
Ovvero.. mi hanno indicati di inserire:

$email = $_POST['requiredmail'];

if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
exit("E-mail non valida");
}

ma sapete dirmi dove inserire tali script?

Grazie anticipatamente!
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
direi di effettuare anche un controllo sull'effettivo invio del parametro:
PHP:
if(isset($_POST['requiredmail']))
{
$email = $_POST['requiredmail'];
}
 

monigna82

Nuovo Utente
22 Ago 2011
2
0
0
scusate la confusione ma per intenderci dovrei scrivere nella pagina PHO
PHP:
<?php
$email = $_POST['requiredmail'];
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
exit("E-mail non valida");
}

.... e poi continuare con quello che già c'era prima?
PHP:
// L'INDIRIZZO DEL DESTINATARIO DELLA MAIL 
 $to = "[email protected]"; 
  
 // IL SOGGETTO DELLA MAIL 
 $subject = "Iscrizione dal sito web"; 
  
 // COSTRUZIONE DEL CORPO DEL MESSAGGIO 
 $body = "Dati per Invio Newsletter:\n\n"; 
  
 $body .= "nome: " . trim(stripslashes($_POST["requirednome"])) . "\n"; 
 $body .= "mail: " . trim(stripslashes($_POST["requiredmail"])) . "\n"; 
  
 // INTESTAZIONI SUPPLEMENTARI 
 $headers = "From: Iscrizione <INDIRIZZO-COME-SOPRA>"; 
  
 // INVIO DELLA MAIL 
 if(@mail($to, $subject, $body, $headers)) { // SE L'INOLTRO E' ANDATO A BUON FINE... 
  
 echo "L'iscrizione è avvenuta con successo."; 
  
 } else {// ALTRIMENTI... 
  
 echo "Si sono verificati dei problemi nell'invio della mail."; 
  
 } 
  
 ?>
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Esatto, così il codice per l'invio viene attivato soltanto soltanto in presenza del parametro $_POST["requiredmail"].
 

ieldna

Nuovo Utente
26 Giu 2010
19
0
0
Genova
Io direi di usare le espressioni regolari, così controlli non solo che ci sia la @ ma anche se l'indirizzo inserito abbia il formato [email protected]e ovvero in questo modo:

PHP:
<?php
if(isset($_POST['requiredmail']))
{
   $email = $_POST['requiredmail'];
   if(preg_match('/^(?:(?:(?:[^@,"\[\]\x5c\x00-\x20\x7f-\xff\.]|\x5c(?=[@,"\[\]\x5c\x00-\x20\x7f-\xff]))(?:[^@,"\[\]\x5c\x00-\x20\x7f-\xff\.]|(?<=\x5c)[@,"\[\]\x5c\x00-\x20\x7f-\xff]|\x5c(?=[@,"\[\]\x5c\x00-\x20\x7f-\xff])|\.(?=[^\.])){1,62}(?:[^@,"\[\]\x5c\x00-\x20\x7f-\xff\.]|(?<=\x5c)[@,"\[\]\x5c\x00-\x20\x7f-\xff])|[^@,"\[\]\x5c\x00-\x20\x7f-\xff\.]{1,2})|"(?:[^"]|(?<=\x5c)"){1,62}")@(?:(?!.{64})(?:[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]\.?|[a-zA-Z0-9]\.?)+\.(?:xn--[a-zA-Z0-9]+|[a-zA-Z]{2,6})|\[(?:[0-1]?\d?\d|2[0-4]\d|25[0-5])(?:\.(?:[0-1]?\d?\d|2[0-4]\d|25[0-5])){3}\])$/',$email))
   {
      //email corretta, inserire il codice qua.
   }
   else
   {
      //email non corretta, inserire il codice qua.
   }
}
?>

Dopo che hai la variabile $email ci fai quello che vuoi ;)
 
Discussioni simili
Autore Titolo Forum Risposte Data
MarcoGrazia Verifica della data inserita in un form ( utilizzando bootstrap ) Javascript 7
E Verifica dell'Età Javascript 0
MarcoGrazia Verifica di una stringa o di un nome proveniente da form Snippet PHP 0
G Problema verifica palindromo e verifica pari e dispari javascript Javascript 0
D verifica codice fiscale persona fisica /aziendale stesso campo HTML e CSS 1
F [PHP] Verifica utente presente nel DB PHP 13
gandalf1959 [PHP] Verifica password per accesso ad area riservata PHP 3
M [Javascript] Verifica calcolo prima di fare insert Javascript 13
Samuele Ronzani [PHP] Verifica se un dato esiste già PHP 1
S [Javascript] Verifica separatore decimale sistema operativo Javascript 2
felino EXCEL: verifica dati mancanti tra due sheet Windows e Software 2
A Verifica validità data in Java Java 2
kikki882 verifica account - dati personali Social Media Marketing 0
S [PHP] Verifica dati tramite form e annullamento codice inserito PHP 7
L Wordpress: consiglio plugin per "verifica disponibilità" WordPress 0
MarcoGrazia Verifica di un indirizzo email Snippet PHP 0
MarcoGrazia [PHP] Verifica dell'input utente tramite funzione generica. PHP 0
francesco87 [Vendo] Verifica pagina (bollino grigio) Annunci servizi di Social Media Marketing 0
M [PHP] Verifica formato data in tempo reale PHP 2
WebDr [Javascript] verifica input Javascript 8
R [WordPress] Accesso al db e verifica credenziali (password criptata) WordPress 1
A VENDO ACCOUNT DI DIVERSE PIATTAFORME E VERIFICA FACEBOOK ACCOUNT(PHOTO TAG VERIFICATION,VERIFICA TEL Annunci servizi di Social Media Marketing 2
P verifica caratteri per email e password PHP 17
S Verifica Esistenza Codice Fiscale PHP 5
C verifica e invio ordine php PHP 19
G verifica caricamento foto originali su social network o sito di hosting immagini Discussioni Varie 3
A Strumenti "ufficiali" per la verifica dei Cookie HTML e CSS 2
A verifica di proprietà bing webmaster tool Google Search Console 0
P Verifica form solo con php senza javascript PHP 15
D Verifica inserimento dati form PHP 12
P verifica utente in db PHP 6
L [MySQL] Verifica disponibilità camera MySQL 32
L vendo account facebook femmina 5.000 amici con verifica cell e tag superati Annunci servizi di Social Media Marketing 0
V verifica form jQuery 5
filippino Verifica email per attribuzione dei contenuti SEO e Posizionamento 0
N Verifica email di registrazione PHP 0
D Verifica plug-in aggiornati di Firefox non vede gli aggiornamenti effettivi Windows e Software 0
il_bauscia Verifica segnale operatore 5ghz Reti LAN e Wireless 2
Virginia86 [risolto] Problema select e verifica form PHP 38
G php asincrono con ajax 2 campi di verifica PHP 1
P Problema ocon verifica campo in javascript Javascript 7
M Cosa ne pensate del mio primo file PHP (verifica disponibilità stanze)? PHP 0
M adsmanager e messaggio di verifica email Joomla 0
L verifica mail in db con jquery e ajax. Aiuto jQuery 9
asevenx modulo registrazione utenti, cicli if di verifica PHP 9
A Espressione Regolare per verifica stringa PHP 14
A verifica codice PHP 7
M Verifica HTTP o HTTPS PHP 1
M Verifica se una Funzione appartiene ad una Classe PHP 9
F Esiste un programma che verifica la home page e la corregge automaticamente? HTML e CSS 7

Discussioni simili