Problema con lettura dati da selezione multipla in php

Laur

Nuovo Utente
21 Apr 2010
3
0
0
Ciao a tutti, mi sono appena iscritta a questo forum perchè ho avuto modo di consultare alcune vostre risposte che mi sono state molto utili e l'ho trovato davvero ben fatto! Complimenti!
Premetto che non sono un genio di html e php, non è il mio lavoro, ma sto realizzando una semplicissima newsletter che però mi dà alcuni problemi.
Ho creato una pagina html con un form di iscrizione alla newsletter che include una selezione multipla, di cui allego il codice:
<td class="form_field" align="left">Sono interessato a:<br>
<font size="1">(Premere Ctrl per scelte multiple)</font></td>
<td>
<SELECT NAME="interesse[]" SIZE="4" multiple="multiple">
<OPTION VALUE="riabilitazione">Riabilitazione
<OPTION VALUE="ortopedia">Ortopedia
<OPTION VALUE="neurologia">Neurologia
<OPTION VALUE="ricerca">Ricerca
<OPTION VALUE="ergonomia">Ergonomia
<OPTION VALUE="sport">Sport
<OPTION VALUE="veterinaria">Veterinaria
</SELECT></td>

E ho passato i valori ad una pagina .php che dovrebbe mandare il tutto tramite e-mail al mio indirizzo, usando il codice che riporto sotto:
$interesse=$_POST['interesse'];
foreach ($interesse as $valore) {echo "$valore<br>\n";}

Il problema è che quando seleziono due campi, nella mail viene sempre solo incluso l'ultimo selezionato.
Mi potreste dare una mano?

Grazie mille!
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
non credo che un menù select vada bene per quello che devi fare dato che invia un solo valore alla volta, ti consiglio di utilizzare delle checkbox, dai uno sguardo a questo articolo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
mi dispiace contraddire eliox, ma perchè dici che non funziona?
PHP:
<?php
if(isset($_POST['invia'])){
var_dump($_POST['interesse']);
}
?>

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
<SELECT NAME="interesse[]" SIZE="4" multiple >
<OPTION VALUE="riabilitazione">Riabilitazione
<OPTION VALUE="ortopedia">Ortopedia
<OPTION VALUE="neurologia">Neurologia
<OPTION VALUE="ricerca">Ricerca
<OPTION VALUE="ergonomia">Ergonomia
<OPTION VALUE="sport">Sport
<OPTION VALUE="veterinaria">Veterinaria
</SELECT><br><input name="invia" type="submit" id="invia" value="invia">
</form>
restituisce questo se seleziono due

array(2) { [0]=> string(10) "neurologia" [1]=> string(7) "ricerca" }
o questo se 4
array(4) { [0]=> string(14) "riabilitazione" [1]=> string(9) "ortopedia" [2]=> string(10) "neurologia" [3]=> string(7) "ricerca" }
forse l'errore è nel tag select che dovrebbe essere

<SELECT NAME="interesse[]" SIZE="4" multiple>
e non
<SELECT NAME="interesse[]" SIZE="4" multiple="multiple">

p.s.
dimenticavo: guarda che per fare la selezione multipla quando selezioni devi tenere premuto il tasto Ctrl
 

Laur

Nuovo Utente
21 Apr 2010
3
0
0
Non so, a me proprio non funziona (so di dover premere Ctrl...)!
Forse sbaglio nel php perchè io dovrei inviare i dati in un messaggio incluso in una mail, perciò nel file php (che è un altro file...) scrivo:

$interesse=$_POST['interesse'];
foreach ($interesse as $valore) {echo "$valore\n";}

E poi uso queste funzioni per scrivere la mail:
$messagebody=("Sig.: ".$fromname."\n"."Società: ".$societa."\n"."Indirizzo: ".$indirizzo."\n"."Città: ".$citta."\n"."Telefono: ".$telefono."\n"."E-mail: ".$fromemail."\n"."Sono interessato a: ".$valore."\n"."Messaggio: ".$message);

$sent = mail($to, $subject, $messagebody, $headers) ;
Ma non mi esce nessun risultato...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prova in questo modo
PHP:
<?php
if(isset($_POST['invia'])){
//var_dump($_POST['interesse']);
$interesse=$_POST['interesse'];
foreach($interesse as $valore){
	$val.=$valore."<br>";
}
echo "<br>".$val;
}
?>
poi quello che scrivi
PHP:
$messagebody=("Sig.: ".$fromname."\n"."Società: ".$societa."\n"."Indirizzo: ".$indirizzo."\n"."Città: ".$citta."\n"."Telefono: ".$telefono."\n"."E-mail: ".$fromemail."\n"."Sono interessato a: ".$valore."\n"."Messaggio: ".$message);
non è una funzione, almeno come l'hai scritta tra l'altro dovrebbe darti errore, prova a scriverla così e al posto di $valore metti $val

PHP:
$messagebody="Sig.: ".$fromname."\n"."Società: ".$societa."\n"."Indirizzo: ".$indirizzo."\n"."Città: ".$citta."\n"."Telefono: ".$telefono."\n"."E-mail: ".$fromemail."\n"."Sono interessato a: ".$val."\n"."Messaggio: ".$message;
//ecc...

p.s.
al posto di \n io usualmente preferisco il <br>
 

Laur

Nuovo Utente
21 Apr 2010
3
0
0
Ho fatto le modifiche che mi hai suggerito, ma così non manda neppure la mail.
Una volta selezionato invia, restituisce una pagina bianca vuota.... :confused:
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Problema con lettura filesystem del client da server! Upload multiplo foto. PHP 5
E Problema con la lettura di un file di testo Classic ASP 3
M Problema con Try Catch PHP 0
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
T PROBLEMA CON SESSIONI PHP 3
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
T PROBLEMA CON ARRAY PHP 8
L problema con query select PHP 2
R Problema query con ricerca id numerico PHP 2
F Problema con risposta PHP 0
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 1
L Problema RAM con Tomcat 8 Apache 0
napuleone problema con sort e asort PHP 4
Z Problema con INT MySQL PHP 1
Z Problema database MySQL con XAMPP PHP 0
M Problema con controllo form in real time jQuery 6
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
G Problema con Get page PHP 4
P Problema con require once PHP 6
P Problema con i package Java 1
A Problema login con Safari PHP 14
F INDESIGN: problema esportazione esecutivo per la stampa con foto B/N Webdesign e Grafica 1
S problema con css bootstrap3 HTML e CSS 4
M .load() problema con caricamenti dinamici di js Javascript 0
G Problema ------- con Query PHP 1
G Problema con Query PHP 1
T problema con select dinamica con jquery Javascript 0
S Problema con spazi bianchi HTML e CSS 5
A PROBLEMA: insert mysqli con dati Tagsinput Presentati al Forum 0
Tommy03 Problema con z-index HTML e CSS 3
M Problema inserimento parole con apostrofo nel db PHP 5
C Problema con dati meteo xml XML 1
S Problema con infrarossi videocamera IP Cam e Videosorveglianza 1
V Problema con librerie allegro5 c++ C/C++ 1
M Problema con php per calcolo costo percentuale PHP 7
S Problema con mysqli_num_rows PHP 18
grgfede Problema javascript con aruba Javascript 1
M Problema con visibility e radio button Javascript 2
Marti1! Problema con casella mail cancellata Posta Elettronica 3
L [PHP] Problema con Telegram PHP 1
tomorc [HTML] Problema con scroll bar (risolto) HTML e CSS 0
S Strano problema con i title su Google SEO e Posizionamento 3
P [ASP.Net] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font ASP.NET 4
P [HTML] Problema ERR_INCOMPLETE_CHUNKED_ENCODING 206 (Partial Content) con Font HTML e CSS 1
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
M [PHP] Problema con query select PHP 2

Discussioni simili