[PHP] Problema form con lista

zammaeng

Nuovo Utente
25 Gen 2017
8
0
1
Salve a tutti, sto lavorando su di un form contatti, in cui ho inserito oltre i soliti campi (Nome Cognome ecc..), una lista con delle opzioni. Graficamente nella pagina html funziona, nel form c'è inserito un primo controllo il quale se uno dei campi è vuoto non va avanti, quindi il form penso sia corretto. Ho già fatto diverse prove, ad es: togliendo la funzione empty (), sulla variabile della lista, mi arriva anche l'email, solo che arriva senza il parametro della lista.

sapreste dirmi come dovrei far arrivare il parametro della lista presente in un form alla pagina php?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
senza un po' di codice è difficile.
comunque se parli di una <select>, la select deve avere un name (es. pinco) e nella parte php leggi il valore dell'<option> selezionata con $_POSTO['pinco']
 

zammaeng

Nuovo Utente
25 Gen 2017
8
0
1
Allego il form:

HTML:
<form name="sentMessage" id="contactForm"  novalidate>
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group">
                                    <input type="text" class="form-control" placeholder="Nome" id="name" required data-validation-required-message="Per favore inserisci il tuo nome.">
                                    <p class="help-block text-danger"></p>
                                </div>
                                <div class="form-group">
                                    <input type="text" class="form-control" placeholder="Cognome" id="lname" required data-validation-required-message="Per favore inserisci il tuo cognome.">
                                    <p class="help-block text-danger"></p>
                                </div>
                                <div class="form-group">
                                    <input type="email" class="form-control" placeholder="Email" id="email" required data-validation-required-message="Per favore inserisci il tuo indirizzo email.">
                                    <p class="help-block text-danger"></p>
                                </div>
                                <div class="form-group">
                                    <input type="tel" class="form-control" placeholder="Telefono" id="phone" required data-validation-required-message="Per favore inserisci il tuo numero di telefono.">
                                    <p class="help-block text-danger"></p>
                                </div>
                            </div>
                            <div class="col-md-6">
                              <div class="form-group">
                                <select type="text" class="form-control" placeholder="Seleziona il tuo evento" id="tevent" required data-validation-required-message="Per favore inserisci il tipo di evento che vuoi organizzare.">
                                  <option value="opzione 1">opzione 1</option>
                                  <option value="opzione 2">opzione 2</option>
                                  <option value="opzione 3">opzione 3</option>
                                </select>
                                  <p class="help-block text-danger"></p>
                              </div>
                                <div class="form-group">
                                    <textarea class="form-control" placeholder="Note o messaggio aggiuntivo" id="message"></textarea>
                                    <p class="help-block text-danger"></p>
                                </div>
                            </div>
                            <div class="clearfix"></div>
                            <div class="col-lg-12 text-xs-center">
                                <div id="success"></div>
                                <button type="submit" class="btn btn-xl">Invio</button>
                            </div>
                        </div>
                    </form>

e la pagina php


PHP:
<?php
// Check for empty fields
if(empty($_POST['name'])      ||
   empty($_POST['lname'])     ||
   empty($_POST['email'])     ||
   empty($_POST['phone'])     ||
   empty($_POST['message'])   ||
   !filter_var($_POST['email'],FILTER_VALIDATE_EMAIL))
   {
   echo "No arguments Provided!";
   return false;
   }

$name = strip_tags(htmlspecialchars($_POST['name']));
$lname = strip_tags(htmlspecialchars($_POST['lname']));
$email_address = strip_tags(htmlspecialchars($_POST['email']));
$phone = strip_tags(htmlspecialchars($_POST['phone']));
$tevent = strip_tags(htmlspecialchars($_POST['tevent']));
$message = strip_tags(htmlspecialchars($_POST['message']));

// Create the email and send the message
$to = '[email protected]';                                                                                                                                                                                                         // Add your email address inbetween the '' replacing [email protected] - This is where the form will send a message to.
$email_subject = "Website Contact Form:  $name";
$email_body = "Hai una richiesta di contatto.\n\n"."Da:\n\nNome: $name\n\ncognome: $lname\n\nEmail: $email_address\n\ntel: $phone\n\nEvento: $tevent\n\nMessage:\n$message";
$headers = "From: [email protected]\n";                                                                                                                                                                                           // This is the email address the generated message will be from. We recommend using something like [email protected]
$headers .= "Reply-To: $email_address";
mail($to,$email_subject,$email_body,$headers);
return true;
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
147
63
PR
www.borgo-italia.it
ciao
infatti non vedo il name.
devi dare un name alla select
HTML:
<select name="tevent" ...>
che, se non erro, nella parte php cerchi di leggere con
PHP:
//....
$tevent = strip_tags(htmlspecialchars($_POST['tevent']));
//...
analogamente agli altri input devi dare un name uguale a quello che poi userai nel $_POST relativo
 

zammaeng

Nuovo Utente
25 Gen 2017
8
0
1
Ciao, si quella è la stringa di lettura, che funziona per tutti i campi, il nome lo do tramite
HTML:
id="tevent"

ah non ti ho detto che il form viene trasferito ad una pagina .js
Codice:
$(function() {

    $("#contactForm input,#contactForm textarea").jqBootstrapValidation({
        preventSubmit: true,
        submitError: function($form, event, errors) {
            // additional error messages or events
        },
        submitSuccess: function($form, event) {
            event.preventDefault(); // prevent default submit behaviour
            // get values from FORM
            var name = $("input#name").val();
            var lname = $("input#lname").val();
            var email = $("input#email").val();
            var phone = $("input#phone").val();
            var tevent = $("input#tevent").val();
            var message = $("textarea#message").val();
            var firstName = name; // For Success/Failure Message
            // Check for white space in name for Success/Fail message
            if (firstName.indexOf(' ') >= 0) {
                firstName = name.split(' ').slice(0, -1).join(' ');
            }
            $.ajax({
                url: "././mail/contact_me.php",
                type: "POST",
                data: {
                    name: name,
                    lname: lname,
                    phone: phone,
                    email: email,
                    tevent: tevent,
                    message: message
                },
                cache: false,
                success: function() {
                    // Success message
                    $('#success').html("<div class='alert alert-success'>");
                    $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
                        .append("</button>");
                    $('#success > .alert-success')
                        .append("<strong>Il tuo messaggio è stato inviato, sarai contattato/a al più presto. </strong>");
                    $('#success > .alert-success')
                        .append('</div>');

                    //clear all fields
                    $('#contactForm').trigger("reset");
                },
                error: function() {
                    // Fail message
                    $('#success').html("<div class='alert alert-danger'>");
                    $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>&times;")
                        .append("</button>");
                    $('#success > .alert-danger').append("<strong>Scusaci " + firstName + ", il server email non risponde. cortesemente controlla che tutti campi siano compilati o riprova dopo!");
                    $('#success > .alert-danger').append('</div>');
                    //clear all fields
                    $('#contactForm').trigger("reset");
                },
            });
        },
        filter: function() {
            return $(this).is(":visible");
        },
    });

    $("a[data-toggle=\"tab\"]").click(function(e) {
        e.preventDefault();
        $(this).tab("show");
    });
});


/*When clicking on Full hide fail/success boxes */
$('#name').focus(function() {
    $('#success').html('');
});
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, l'errore è nel codice javascript :
Codice:
var tevent = $("input#tevent").val();
non è un input ma una select
Codice:
var tevent = $("select#tevent").val();
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Problema search form PHP 3
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
O [PHP] Problema Button in form PHP 1
A [PHP] Problema Button in form PHP 6
trattorino [PHP] [HTML] problema form PHP 1
S Problema invio form php/html PHP 3
allegria [PHP] Problema form PHP 2
S Problema php con form PHP 0
S Problema con l'invio del form in php PHP 0
F Problema form invio email php PHP 3
A problema con un semplice form per un loggin in php PHP 2
C problema invio mail con form php PHP 0
I [PHP]Problema sito con form login in ogni pagina PHP 7
P Problema moduli Form.php con browser diversi PHP 2
G problema passaggio parametri form-php PHP 1
T ho un problema con un form in php PHP 1
D problema php mysql PHP 1
D problema php mysql PHP 1
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
A Problema checkout carrello php PHP 2
G Problema caricamento tabelle MySql da PhP PHP 0
M Problema con php per calcolo costo percentuale PHP 7
O Problema Formmail in PHP su Aruba PHP 0
WebmasterFioriniAndrea Chat e php [problema] PHP 3
L [PHP] Problema con Telegram PHP 1
WebmasterFioriniAndrea [PHP] Problema che non mi fa vedere niente PHP 2
A [PHP] Problema query insert [RISOLTO] PHP 14
N [Apache] problema con estensione php Apache 0
C [PHP] Problema con download file PHP 0
M [PHP] Problema con preg_match PHP 1
gandalf1959 [PHP] problema con l'utilizzo di Header PHP 3
K [RISOLTO] Problema Griglia Php+Mysql PHP 13
M [PHP] Problema con query select PHP 2
L Problema jQuery validation AJAX (PHP 7) PHP 6
L Problema funzione mail() PHP PHP 3
S [PHP] Problema con istruzione "use" PHP 23
A Problema PHP PHP 1
T [php] problema creazione query select-where PHP 5
M [PHP] problema if PHP 3
L [PHP] Problema su codice o server PHP 5
T [PHP] problema maggiore e minore PHP 4
Cosina [PHP] fwrite problema con le parole accentate PHP 9
F [PHP] Problema con number_format PHP 3
L [PHP] problema count messo in una funzione. PHP 1
P [PHP] Progettino CRUD di esercitazione. Problema su $_FILE. PHP 9
trattorino [PHP] problema entrata immagini insert PHP 1
C Apache Cordova problema con php Programmazione 1
trattorino problema raccapricciante php conteggio query PHP 4
T PHP+MYSQL: problema con quelle maledette lettere accentate... PHP 5
F [PHP] Problema con array multidimensionale PHP 4

Discussioni simili