Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    43

    Newbie: input select multipla in form

    sono un newbie.
    Ho preso una classe per costruire un form in HTML da spedire dal sito via smtp.

    Mi sarebbe utile utizzare una selezione multipla come quella indicata sotto.
    Quando mi arriva l'email con i dati del form peró, la riga relativa contiene solo il termine "array" e non i nomi delle selezioni effettuate.

    Grazie!

    codice:
    <select size="2" multiple="multiple" name="element_5" id="element_5">
    __ _ _ _ _
    <option value="Hotel Yyyyy - 1 notte">
    __ _ _ _ _ _Hotel Yyyyy - 1 notte
    __ _ _ _ _</option>
    __ _ _ _ _
    <option value="Hotel wwwww - 2 notti">
    __ _ _ _ _ _Hotel Wwwww - 2 notti
    __ _ _ _ _</option>
    __ _ _ _</select>

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    da quello che hai postato non si può capire dove sbagli
    posta il codice dove vai a recuperari i dati della form e ad inviare la mail

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    43
    Giusto,...

    codice:
    <?
    ini_set("SMTP","smtp.xxxxxxxx.it");
    $testoMail = "
    Mail inviata dal sito www.yyyyyyyyy.it\n\r
    
    Richiesta informazioni pacchetti hotel
    
    Cognome : ".$_POST[cognome]."
    
    Nome : ".$_POST[nome]."
    
    Via : ".$_POST['via']."
    
    Citta'; : ".$_POST[citta]."
    
    Provincia : ".$_POST[pr]."
    
    CAP : ".$_POST[cap]."
    
    Stato : ".$_POST[stato]."
    
    Tel : ".$_POST[tel]."
    
    Cell : ".$_POST[cell]."
    
    Email : ".$_POST[email]."
    
    Pacchetto : ".$_POST[element_5]."  <-----NOTA: è questo il punto che produce "array" nella email---->
    
    Persone : ".$_POST[persone]."
    
    Data Check-in : ".$_POST[element_3_day]." ".$_POST[element_3_month]." ".$_POST[element_3_year]."
    
    Messaggio : ".$_POST[note]."\r\n
    
    ";
    //info@xxxxxxxxx.it
    $prova = mail("xxxxxxxx@gmail.com","Richiesta info hotel dal sito xxxxxx.it",$testoMail,
    			"From: info@xxxxxxxxx.it\r\n" .
    			"Reply-To: $_POST[email]\r\n" .
         		"X-Mailer: PHP/" . phpversion());
    
    
    ?>
    Grazie

  4. #4
    tralasciando su tutto lo script (...)

    per risolvere semplicisticamente il problema sostituisci $_POST[element_5] con

    Codice PHP:
    (is_array($_POST['element_5'])) ? implode(','$_POST['element_5']) : $_POST['element_5'
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    43
    perchè è brutto lo script?....io l'ho trovato, non sono in grado di giudicarlo..

    grazie del tuo suggerimento, però non funziona.

    Ho inserito così:



    Codice PHP:
    <?
    ini_set
    ("SMTP","smtp.xxxxxxxxx.it");
    $testoMail "
    Mail inviata dal sito [url]www.xxxxxxxxxxxxxx.it\n\r[/url]

    Richiesta informazioni pacchetti hotel

    Cognome : "
    .$_POST[cognome]."

    Nome : "
    .$_POST[nome]."

    Via : "
    .$_POST['via']."

    Citta'; : "
    .$_POST[citta]."

    Provincia : "
    .$_POST[pr]."

    CAP : "
    .$_POST[cap]."

    Stato : "
    .$_POST[stato]."

    Tel : "
    .$_POST[tel]."

    Cell : "
    .$_POST[cell]."

    Email : "
    .$_POST[email]."

    Pacchetto : "
    (is_array($_POST['element_5'])) ? implode(','$_POST['element_5']) : $_POST['element_5']"

    Persone : "
    .$_POST[persone]."

    Data Check-in : "
    .$_POST[element_3_day]." ".$_POST[element_3_month]." ".$_POST[element_3_year]."

    Messaggio : "
    .$_POST[note]."\r\n

    "
    ;
    //info@xxxxxxxx.it
    $prova mail("xxxxxxxxxxx@gmail.com","Richiesta info pacchetti hotel dal sito xxxxxxxxxxx.it",$testoMail,
                
    "From: [email]info@xxxxxxxx.it[/email]\r\n" .
                
    "Reply-To: $_POST[email]\r\n" .
                 
    "X-Mailer: PHP/" phpversion());


    ?>
    il risultato è questo errore:

    Errore del server
    Si è verificato un errore nel sito web durante il recupero di http://www.xxxxxxxxx.it/php/classes/..._multipla.php. Potrebbe non essere disponibile per manutenzione o essere configurato in modo errato.
    Ecco qualche suggerimento:
    Carica di nuovo questa pagina web in un secondo momento.
    Errore HTTP 500 (Internal Server Error): Si è verificata una condizione imprevista durante il tentativo del server di soddisfare la richiesta.

  6. #6
    Codice PHP:
    <?
    ini_set
    ("SMTP","xxxxxx");
    $testoMail "
    Mail inviata dal sito xxxxxxx.it\n\r

    Richiesta informazioni pacchetti hotel

    Cognome : "
    .$_POST[cognome]."

    Nome : "
    .$_POST[nome]."

    Via : "
    .$_POST['via']."

    Citta'; : "
    .$_POST[citta]."

    Provincia : "
    .$_POST[pr]."

    CAP : "
    .$_POST[cap]."

    Stato : "
    .$_POST[stato]."

    Tel : "
    .$_POST[tel]."

    Cell : "
    .$_POST[cell]."

    Email : "
    .$_POST[email]."

    Pacchetto : "
    .(is_array($_POST['element_5'])) ? implode(','$_POST['element_5']) : $_POST['element_5']."

    Persone : "
    .$_POST[persone]."

    Data Check-in : "
    .$_POST[element_3_day]." ".$_POST[element_3_month]." ".$_POST[element_3_year]."

    Messaggio : "
    .$_POST[note]."\r\n

    "
    ;
    //info@xxxxxxxx.it
    $prova mail("xxxxxxxxxxx@gmail.com","Richiesta info pacchetti hotel dal sito xxxxxxxxxxx.it",$testoMail,
                
    "From: [email]info@xxxxxxxx.it[/email]\r\n" .
                
    "Reply-To: $_POST[email]\r\n" .
                 
    "X-Mailer: PHP/" phpversion());


    ?>
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    43
    Ciao Oly,

    ho inserito questo comando come,mi avevi indicato

    Originariamente inviato da oly1982
    Codice PHP:

    <
    Pacchetto ".(is_array($_POST['element_5'])) ? implode(',', $_POST['element_5']) : $_POST['element_5']."

    Ma viene un errore proprio da quella riga lì:

    codice:
    Warning: implode() [function.implode]: Invalid arguments passed in /web/htdocs/www.xxxxxxxxxxxxxxxxxxxx.com/home/formmailhotel/formInviaEmail_con_selezione_multipla.php on line 102

    La email con il messaggio dal form è comunque arrivata, ma vuota.

    Ti ringrazio dell'aiuto

    Bob

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.