Visualizzazione dei risultati da 1 a 2 su 2

Discussione: problema con form mail

  1. #1

    problema con form mail

    Salve a tutti
    questo è il mio primo post in questo fantastico portale..
    avrei il seguente problema...premetto non sono per niente un esperto in php anzi...mi occupo piu di html e css
    ho creato un form mail da webformgenerator.eu e fin qui tutto ok, l'ho settato alla bisogna in modo che risponda in italiano agli errori ecc..ecc or mi sorge un problemino ..all'interno del form c'è la possibilitaà di selezionare dei modelli di auto...ora il problema e che se ne seleziono uno solo ok tutto bene...quando ne voglio selezionare piu di uno tramite checkbox mi invia per mail soltanto un valore selezionato vi posto il codice dell interfaccia e del modulo di invio psero che qualcuno sappia risolvermi questo problema che credo sia banale...ma non avendo esperienza non so come risolvere...grazie anticipatamente a tutti quelli che vorranno aiutarmi

    codice maschera di inserimento


  2. #2
    processo logico php
    codice:
    <?php/**
     * Created with WebFormGenerator.eu
     * Powered by www.easyclick.ch
     */
    
    
    $form = new ProcessForm();
    $form->field_rules = array(
    	'nome'=>'required',
    	'telefono'=>'required',
    	'mail'=>'email|required',
    	'noleggio'=>'required',
    	'ind_casa'=>'',
    	'ind_chiesa'=>'',
    	'ind_ristorante'=>'',
    	'fascia'=>'required',
    	'data'=>'required',
    	'richieste'=>'',
    	'auto'=>'required'
    );
    $form->validate();
    
    
    class ProcessForm
    {
        public $field_rules;
        public $error_messages;
        public $fields;
        private $error_list;
        private $is_xhr;
    
    
    
    
    
    
    
    
    
    
        function __construct()
        {
            $this->error_messages = array(
                'required' => 'Questo campo è obbligatorio',
                'email' => 'Inserire un indirizzo di posta valido',
                'number' => 'Please enter a numeric value',
                'url' => 'Please enter a valid URL',
                'pattern' => 'Please correct this value',
                'min' => 'Please enter a value larger than the minimum value',
                'max' => 'Please enter a value smaller than the maximum value'
            );
    
    
            $this->field_rules = array();
            $this->error_list = '';
            $this->fields = $_POST;
            $this->is_xhr = $this->xhr();
        }
    
    
    
    
    
    
    
    
    
    
        function validate()
        {
            if (!empty($this->fields))
            {
                //Validate each of the fields
                foreach ($this->field_rules as $field => $rules)
                {
                    $rules = explode('|', $rules);
    
    
                    foreach ($rules as $rule)
                    {
                        $result = null;
    
    
                        if (isset($this->fields[$field]))
                        {
                            $param = false;
    
    
                            if (preg_match("/(.*?)\[(.*?)\]/", $rule, $match))
                            {
                                $rule = $match[1];
                                $param = $match[2];
                            }
    
    
                            $this->fields[$field] = $this->clean($this->fields[$field]);
    
    
                            //if the field is a checkbox group create string
                            if (is_array($this->fields[$field]))
                                $this->fields[$field] = implode(', ', $this->fields[$field]);
    
    
                            // Call the function that corresponds to the rule
                            if (!empty($rule))
                                $result = $this->$rule($this->fields[$field], $param);
    
    
                            // Handle errors
                            if ($result === false)
                                $this->set_error($field, $rule);
                        }
                    }
                }
    
    
                if (empty($this->error_list))
                {
                    if ($this->is_xhr)
                        echo json_encode(array('status' => 'success'));
    
    
                    $this->process();
                }
                else
                {
                    if ($this->is_xhr)
                        echo json_encode(array('status' => 'invalid', 'errors' => $this->error_list));
                    else echo $this->error_list;
                }
            }
        }
    
    
    
    
    
    
    
    
    
    
        function process()
        {
             /**
             * SUCCESS!!
             * There were no errors in the form. Insert your processing logic here (i.e. send an email, save to a
             * database etc.
             *
             * All of the submitted fields are available in the $this->fields variable.
             *
             * Example code to mail the results of the form:
             *
             * IMPORTANT - PLEASE READ:
             * 1. YOU MUST UNCOMMENT THE CODE FOR IT TO WORK.
             *    - This means removing the '//' in front of each line.
             *    - If you do not know what php comments are see here: http://php.net/manual/en/language.basic-syntax.comments.php
             *
             * 2. YOU CAN ENTER ANY EMAIL ADDRESS IN THE $from VARIABLE.
             *    - This is the address that will show in the From column in your mail application.
             *    - If your form contains an email field, and you want to use that value as the $from variable, you can set $from = $this->fields['name of your email field'];
             *    - As stated in the description on codecanyon, this code does not mail attachments. Google 'php html email attachments' for information on how to do this
             */
    
    
    
    
    
    
              $msg = "Informazioni Preventivo: \n\n";
              foreach($this->fields as $key => $field)
                    $msg .= "$key :  $field \n";
    
    
              $to = 'info@lautosposa.it';
              $subject = 'Richiesta di preventivo';
              $from = 'info@lautosposa.it';
    
    
              mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
    
    
    
    
        }
    
    
    
    
    
    
        function set_error($field, $rule)
        {
            if ($this->is_xhr)
            {
                $this->error_list[$field] = $this->error_messages[$rule];
            }
            else $this->error_list .= "<div class='error'>$field: " . $this->error_messages[$rule] . "</div>";
        }
    
    
    
    
    
    
    
    
    
    
        function xhr()
        {
            return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ? true : false;
        }
    
    
    
    
    
    
    
    
    
    
        /** Validation Functions */
        function required($str, $val = false)
        {
    
    
            if (!is_array($str))
            {
                $str = trim($str);
                return ($str == '') ? false : true;
            }
            else
            {
                return (!empty($str));
            }
        }
    
    
    
    
    
    
    
    
    
    
        function email($str)
        {
            return (!preg_match("/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD", $str)) ? false : true;
        }
    
    
    
    
    
    
    
    
    
    
        function number($str)
        {
            return (!is_numeric($str)) ? false : true;
        }
    
    
    
    
    
    
    
    
    
    
        function min($str, $val)
        {
            return ($str >= $val) ? true : false;
        }
    
    
    
    
    
    
    
    
    
    
        function max($str, $val)
        {
            return ($str <= $val) ? true : false;
        }
    
    
    
    
    
    
    
    
    
    
        function pattern($str, $pattern)
        {
            return (!preg_match($pattern, $str)) ? false : true;
        }
    
    
    
    
    
    
    
    
    
    
        function clean($str)
        {
            $str = is_array($str) ? array_map(array("ProcessForm", 'clean'), $str) : str_replace('\\', '\\\\', strip_tags(trim(htmlspecialchars((get_magic_quotes_gpc() ? stripslashes($str) : $str), ENT_QUOTES))));
            return $str;
        }
    }
    
    
    
    
    ?>

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.