Visualizzazione risultati 1 fino 12 di 12

Discussione: Controllo campi obbligatori e email

  1. #1
    Guest

    Predefinito Controllo campi obbligatori e email

    Salve,
    io ho un form mail in php
    però vorrei inserire un controllo campi vuoti
    e un controllo email valida
    grazie in anticipo....

  2. #2
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Allora..
    Codice PHP:
    <?
    $email
    = $_POST['mail']; #Il campo mail del form con nome mail
    $dest = $_POST['dest']; #Il campo mail del destinatario con nome dest
    $messaggio = $_POST['messaggio']; #Il campo textarea per il mex con nome messaggio
    #CONTROLLI
    if(!eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$email)){
    $err[] = "La tua e-mail non è valida!";
    }
    if(!
    eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$dest)){
    $err[] = "L'e-mail del destinatario non è valida!";
    }
    if(
    trim($messaggio) == "") {
    $err[] = "Devi compilare il campo del messaggio!";
    }
    if(!
    $err) {
    if(
    mail($dest,"Oggetto",$messaggio,"From:$email") ) {
    echo
    "E-Mail inviata a $dest !";
    }
    }else{
    foreach(
    $err as $errore) {
    echo
    $errore."<br />";
    }
    }
    Alè!Ti dice anche che errori fai :)
    Ultima modifica di Leo91 : 29-06-2006 alle ore 13.36.16

  3. #3
    Guest

    Predefinito

    si funziona, il messaggio compare ma l'email viene inviata comunque

  4. #4
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da mondoragazzi3000
    si funziona, il messaggio compare ma l'email viene inviata comunque
    Scusa non ho capito. . .
    EDIT: Osp non avevo chiuso una graffa...adesso va!

  5. #5
    Guest

    Predefinito

    volevo dire che,
    compare soltanto il messaggio: devi compilare...
    però l'email viene inviata comunque


    EDIT: ultima cosa, volevo chiederti cosa serve questa parte.
    Codice PHP:
    if(!$err) {
    if(
    mail($dest,"Oggetto",$messaggio,"From:$email") ) {
    echo
    "E-Mail inviata a $dest !";
    }
    }else{
    foreach(
    $err as $errore) {
    echo
    $errore."<br />";
    }
    }
    Dimenticavo: fa ancora lo stesso errore, invia lo stesso la mail


    FunCool: Non fare UP, usa il tasto Edita. Quando scrivi del codice inseriscilo tra i tag appositi.
    Ultima modifica di funcool : 30-06-2006 alle ore 09.02.27

  6. #6
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da mondoragazzi3000
    ultima cosa, volevo chiederti cosa serve questa parte.
    if(!$err) {
    if(mail($dest,"Oggetto",$messaggio,"From:$email") ) {
    echo "E-Mail inviata a $dest !";
    }
    }else{
    foreach($err as $errore) {
    echo $errore."<br />";
    }
    }

    Dimenticavo: fa ancora lo stesso errore, invia lo stesso la mail
    Quel pezzo controlla che non ci siano errori...
    se non ci sono invia la mail, altrimenti fa vedere gli errori! asp che controllo...

    P.S.: Aggiungi un ?> alla fine del codice

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Leo91

    P.S.: Aggiungi un ?> alla fine del codice
    Ma io da quello script che avevi scritto tu io ho copiato soltanto la parte per controllare gli errori nel mio form e io nel mio form avevo già chiuso con ?>
    e ancora non funziona, anche se i campi sono vuoti invia comunque la mail

  8. #8
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    invece di if(!$err) prova a mettere if($err[0] == "") {

    EDIT:
    Codice PHP:
    <?
    $email
    = $_POST['mail']; #Il campo mail del form con nome mail
    $dest = $_POST['dest']; #Il campo mail del destinatario con nome dest
    $messaggio = $_POST['messaggio']; #Il campo textarea per il mex con nome messaggio
    #CONTROLLI
    if(!eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$email)){
    $err[] = "La tua e-mail non è valida!";
    }
    if(!
    eregi("([^@]+)@([^\.]+)\.[a-z0-9]{2,6}",$dest)){
    $err[] = "L'e-mail del destinatario non è valida!";
    }
    if(
    trim($messaggio) == "") {
    $err[] = "Devi compilare il campo del messaggio!";
    }
    if(
    $err[0] == "") {
    if(
    mail($dest,"Oggetto",$messaggio,"From:$email") ) {
    echo
    "E-Mail inviata a $dest !";
    }
    }else{
    foreach(
    $err as $errore) {
    echo
    $errore."<br />";
    }
    }
    ?>
    Questo mi funziona al 100%... se usi hotmail prova a guardare tra la posta indesiderata...controlla bene i nomi degli input del form!!!!
    Ultima modifica di Leo91 : 29-06-2006 alle ore 14.15.04

  9. #9
    Guest

    Predefinito

    Pero' ti conviene copiare tutto lo script non solo una parte. Per questo forse non ti funziona. Perchè il comando mail lo hai messo nel tuo codice senza inserirlo nel codice if,, cosi' come ti ha scritto nell'esempio

  10. #10
    Guest

    Predefinito

    grazie a tutti, ora tutto funziona!!!!!

  11. #11
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Visto che risolto, chiudo.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •