Newsgroup: it.comp.www.php
Titolo: form flash e php per spedire mail via web - problema di formattazione

Ho creato un swf contenente un form per spedire una mail dal web
tramite uno script php.
Sull'evento on release di un pulsante eseguo un sendAndLoad e passo le
variabili da flash a php usando il metodo POST.
Riporto sotto il codice usato sia in flash che in php.
CODICE FLASH:
scriptVars.nome = _root.nome.text;
scriptVars.email = _root.email.text;
scriptVars.oggetto = _root.oggetto.text;
scriptVars.messaggio = _root.messaggio.text;
scriptVars.sendAndLoad("
http://sito.com/invio.php
", scriptVars,
"POST");
CODICE PHP:
<? //corpo messaggio
$msg = "Messaggio inviato dal sito" . "\n\n";
$msg .= "------------------------------------------------\t" . "\n";
$msg .= "Nome mittente:\t" . $_POST['nome'] . "\n";
$msg .= "E-mail mittente:\t" . $_POST['email'] . "\n";
$msg .= "Oggetto:\t\t" . $_POST['oggetto'] . "\n";
$msg .= "------------------------------------------------\t" . "\n\n";
$msg .= "MESSAGGIO:\n\n" . $_POST['messaggio'] . "\n";
//indirizzo e-mail destinatario 
$to = "
in...@mail.com
";
//Oggetto del messaggio
$subject = $_POST['oggetto'];
//mail headers
$mailheaders = "From:\t" . $_POST['email'] . "\n";
$mailheaders .= "Reply-To:\t" . $_POST['email'] . "\n";
//invio mail
mail($to, $subject, $msg, $mailheaders);?>
Il problema è che se nel campo "messaggio" del form (in pratica il
corpo della mail) inserisco lettere accentate oppure l'apostrofo la
mail che viene recapitata riporta simboli strani.
Ho anche provato a cambiare lo script per creare una mail html ed ho
aggiunto queste righe per gli headers:
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
ma con scarsi risultati.
Mi servirebbe qualche suggerimento per ovviare al problema.
Grazie in anticipo.

 mail che viene recapitata riporta simboli strani.
Definisci "simboli strani".
 
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/x
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y

Definisci "simboli strani".
Inserisco questo testo nel form:
--------------------
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.
Ahi quanto a dir qual era è cosa dura
esta selva selvaggia e aspra e forte
che nel pensier rinova la paura!
Tant' è amara che poco è più morte;
ma per trattar del ben ch'i' vi trovai,
dirò de l'altre cose ch'i' v'ho scorte.
--------------------
 
Ed ottengo quest'altro nella mail:
--------------------
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
chÃ© la diritta via era smarrita.
Ahi quanto a dir qual era Ã¨ cosa dura
esta selva selvaggia e aspra e forte
che nel pensier rinova la paura!
Tant\' Ã¨ amara che poco Ã¨ piÃ¹ morte;
ma per trattar del ben ch\'i\' vi trovai, dirÃ² de l\'altre cose
ch\'i\' v\'ho scorte.
--------------------

 Tant\' è amara che poco è più morte;
Prova (
http://www.php.net/utf8_decode
):
$msg = utf8_decode ($msg);
mail ($to, $subject, $msg, $mailheaders);
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/1Z


 
Questo non c'è nel manuale di Flash ma credo faccia al caso tuo
system.useCodepage = true;
Max
-- 
Se mi volete scrivere
massimo . ori @ aliceposta . it

mail ($to, $subject, $msg, $mailheaders);
Ci siamo quasi! Ora ottengo:
----------------------------
Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.
Ahi quanto a dir qual era è cosa dura
esta selva selvaggia e aspra e forte
che nel pensier rinova la paura!
Tant\' è amara che poco è più morte;
ma per trattar del ben ch\'i\' vi trovai, dirò de l\'altre cose
ch\'i\' v\'ho scorte.
----------------------------
L'apostrofo però non è formattato correttamente: c'e' il simbolo "\"
che lo precede.

system.useCodepage = true;
L'avevo già provato, ma non funge :-(
Grazie lo stesso ;-)

 che lo precede.
$msg = stripslashes(utf8_decode ($msg));

$msg = stripslashes(utf8_decode ($msg));
Ora la mail è formattata perfettamente.
Grazie a tutti!