Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    97

    Form Errore email campi vuoti

    Ciao ragazzi,
    Sto cercando di costruire un form che controlli i campi se sono compilati o vuoti ma….. mi da sempre email vuota anche se è compilata e non mi invia il Form, ci date un occhiata………….. per capire che cosa non va?
    php

    <?php
    // Comunica tutti gli errori PHP (il valore 63 può essere usato in PHP 3)
    //echo "vecchio_error_reporting:" . error_reporting(E_ALL ^ E_NOTICE) . "**
    ";
    error_reporting(E_ALL ^ E_NOTICE);

    // Stesso effetto di error_reporting(E_ALL);
    ini_set('error_reporting', E_ALL ^ E_NOTICE);

    $email=$_POST['email'];

    #######################################
    # IMPOSTAZIONI DA CONFIGURARE #
    #######################################

    //(1) indirizzo email del destinatario del modulo
    // $destinatario = "mariodp@alice.it";
    $destinatario = "info@#.it";

    //(2) indirizzo email del mittente, campo FROM
    // non toccare se desiderate che l'indirizzo email inserito nel modulo sia
    // riportato nel campo DA del messaggio che sarà ricevuto.
    // Se invece desiderate un campo fisso annullare la prima riga e abilitare
    // la seconda inserendo la dicitura desiderata (per annullare mettere //
    // all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
    $nome_mittente = "$email";
    // $email_mittente = "$email";
    // $nome_mittente = "Dal Modulo";

    //(3) oggetto del messaggio
    $oggetto_email = "Modulo inviato dal sito www.miosito.it";

    //(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
    // (valori possibili: "y" e "n")
    $all_free = "y";

    //(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
    // da virgola, i nomi dei campi da rendere OBBLIGATORI
    // Esempio: $campi_req = array("nome","telefono","via");
    // $campi_req = array("nome","email");

    //(6) controllo validità del campo email. (valori possibili: "y" e "n")
    $obbligo_email = "y";

    //(7) obbligare l'utente ad accettare le condizioni.
    // (valori possibili: "y" e "n")
    $accetta_condizioni = "y";

    //(8) URL della pagina di ringraziamento
    $pagina_grazie = "http://www.miosito.it/form/grazie.php";

    //(9) URL della pagina errore campi vuoti
    $pagina_error_empty = "http://www.miosito.it/form/errore_campi_vuoti.php";

    //(10) URL della pagina errore email
    $pagina_error_email = "http://www.#.it/form/errore_email.php";

    //(11) URL della pagina errore condizioni non accettate
    $pagina_error_condizioni = "http://www.#.it/form/errore_condizioni.htm";

    //(12) URL della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer = "http://www.#.it/form/errore_referer.htm";

    #######################################
    # FINE IMPOSTAZIONI DA CONFIGURARE #
    #######################################

    //ora e data
    $ora = date ("H:i:s");
    $data = date ("d/m/Y");

    //intestazione email che arriva al destinatario
    $corpo = "
    Modulo inviato il $data alle ore $ora
    Riepilogo dati:\n\n";

    //controllo codice dinamico
    // if ($resp->is_valid) {
    // richiesta approvata da captcha!
    // } else {
    # set the error code so that we can display it. You could also use
    # die ("reCAPTCHA failed"), but using the error message is
    # more user friendly
    // $error = $resp->error;
    //echo $error;

    header ("Location: $pagina_error_email");
    exit();
    // }



    //============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================\


    ########### CODICI ###########

    //variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
    if(!isset($_SERVER) OR
    !$_SERVER OR
    !is_array($_SERVER) OR
    count(array_diff($_SERVER, $HTTP_SERVER_VARS))) {
    $_POST = &$HTTP_POST_VARS;
    }

    //prende IP ADDRESS
    if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
    if ($_SERVER["HTTP_X_FORWARDED_FOR"] == "") {
    $ipnumb = getenv("REMOTE_ADDR");
    }else {
    $ipnumb = getenv("HTTP_X_FORWARDED_FOR");
    }
    } else {
    $ipnumb = getenv("REMOTE_ADDR");
    }
    ###################################

    //controllo referer
    if(empty($_SERVER["HTTP_REFERER"])){
    header ("Location: $pagina_error_referer");
    exit();
    }

    ########### CONTROLLO DEI CAMPI ###########
    $control_campi = 0;

    if($all_free != "y"){
    foreach($_POST as $key => $valore){
    if(in_array($key,$campi_req)){
    if(trim($valore) == ""){
    $control_campi++;
    }
    }
    }
    } else {
    $control_campi = 0;
    }

    ########### CONTROLLO EMAIL ###########
    $control_email = 0;

    if($obbligo_email == "y"){
    if(isset($_POST['email'])){
    if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $_POST['email'])){
    $control_email++;
    }
    } else {
    $control_email = 0;
    }
    }

    ########### CONTROLLO CONDIZIONI ###########
    $control_condizioni = 0;

    if($accetta_condizioni == "y"){
    if(isset($_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){
    $control_condizioni = 0;
    } else {
    $control_condizioni ++;
    }
    }

    //echo "control_campi:$control_campi **
    control_email:$control_email **
    control_condizioni:$control_condizioni **
    ";

    ########### INVIO EMAIL ###########
    if($control_campi != 0){
    header ("Location: $pagina_error_empty");
    exit();
    } else {
    // echo "nessun header CAMPI**
    ";
    }

    if($control_email != 0){
    header ("Location: $pagina_error_email");
    exit();
    } else {
    // echo "nessun header EMAIL**
    ";
    }


    if($control_condizioni == 0){
    foreach($_POST as $key => $valore){
    $key = ucfirst(stripslashes(trim($key)));
    $valore = stripslashes(trim($valore));
    $key = str_replace("_"," ",$key);

    if(trim($valore) == "") {
    $valore = "Non compilato";
    }
    $corpo .= $key .": ". $valore ."\n\n";
    }
    $corpo .= "Numero IP: $ipnumb"."\n";
    $corpo .= "_________________________________________________ ___________ \n\n

    ";

    // invio e-mail
    // Header Mail
    $headmail.="From: $destinatario\n";
    $headmail.="Return-Path: $nome_mittente\n";
    // $headmail.="User-Agent: Php Mail Function\n";
    // $headmail.="X-Accept-Language: en-us, en, ita\n";
    // $headmail.="MIME-Version: 1.0\n";
    // $headmail.="X-Priority: 1 (Highest)\n";
    // $headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
    // $headmail.="Content-Transfer-Encoding: 7bit\n";

    //ini_set('sendmail_from', "$destinatario");
    /* echo ("nome_mittente:$nome_mittente--

    destinatario:$destinatario--

    oggetto_email:$oggetto_email--

    corpo:" . nl2br($corpo) . "--

    headmail:$headmail--
    ");
    */
    $risultato = mail($destinatario, $oggetto_email, $corpo, $headmail);
    // echo "risultato:$risultato--
    ";
    // exit;
    header ("Location: $pagina_grazie");
    } else {
    header ("Location: $pagina_error_condizioni");
    }
    exit();

    ?>

  2. #2
    Utente di HTML.it L'avatar di mrseo88
    Registrato dal
    Jan 2012
    residenza
    Italia
    Messaggi
    75
    Togli punto esclamativo nel if:

    Codice PHP:
    if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$"$_POST['email'])){ $control_email++; } 

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    97
    Grazie per avermi risposto.
    fatto... tolto punto ! dopo if non cambia nulla non va

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 © 2024 vBulletin Solutions, Inc. All rights reserved.