• User Attivo

    Boh, riprova così, ma indubbiamente il link funziona...
    http://decatrade.ilbello.com/form.zip


  • User Attivo

    proverò a capire meglio anche questa funzione ma se riesco a eliminare il loop con il metodo che mi hai detto tu allora non avrò necessità di usarla ora, sempre che mi possa risolvere il problema.


  • User Attivo

    ok, funzionaaaaa, grazie mille, ora sistemo anche gli altri campi.
    Ora rimangono due problemi da risolvere, uno, come fare a far si che se viene scritto un carattere accentato in un campo di testo nella mail poi mi venga visualizzato in un altro modo.
    Il secondo non è proprio un problema è solo un'accortezza, vorrei che la mail ricevuta avesse un aspetto più professionale, magari tipo una scheda da poter stampare, se mi creo una pagina html con l'aspetto che mi interessa ne copio il codice e lo inserisco come contenuto di una delle variabili da inviare dovrei riuscirci vero?


  • User Attivo

    per scrivere una email in formato HTML puoi usare degli accorgimenti da mettere nelle intestazioni della funzione "mail()" qualcosa del genere:
    [php]
    $intestazioni = "MIME-Version: 1.0\r\n";
    $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $intestazioni .= "To: ".$_POST['nome']." ".$_POST['cognome']." <".$_POST['email'].">\r\n";
    $intestazioni .= "From: Modulo di invio email [email protected]\r\n";
    mail ($destinatario,$soggetto,$messaggio,$intestazioni);
    [/php]Con queste intestazioni, invia email il cui corpo è in formato html.
    Ho provato che con le email di libero non funziona comunque, non dipende dal codice purtroppo...
    Per i caratteri, puoi fare un miniscript in php che ti sostituisca le lettere accentate scritte nel form mail con il corrispondente codice html, tipo "à" con "&aacute", così sei sicuro che non compaiono caratteri "strani"...
    Credo che sia tutto.
    Momino


  • User Attivo

    Problema di codifica risolto, bastava inserire nel primo fotogramma del file swf questo codice

    System.useCodepage = true;

    in questo modo i dati vengono trattati con la codifica del sistema operativo su cui è in esecuzione la pagina internet e non più con la codifica di flash.
    Temo solo di avere problemi se il sito viene visualizzato in altri paesi, forse in quel caso mi usciranno caratteri errati nella mail.

    Ultimo problemino, impaginare come voglio la mail che viene inviata, ma riuscirò anche in questo, provo ad analizzare ciò che mi hai scritto tu.


  • User Attivo

    Si tratta di creare un modellino di pagina html e inserirla come messaggio della tua email, aggiungendo nelle intestazioni la direttiva per interpretare il messaggio come testo html, invece di testo semplice.
    A me ha funzionato, ma te l'ho detto, su alcuni mailserver potrebbe non fungere...


  • User Attivo

    dovrebbe funzionare anche con aruba, avevo già provato qualcosa di simile con un form mail che avevo trovato su un sito, il problema di quel form è che non aveva campi obbligatori.
    A proposito di campi obbligatori, come posso verificare che la variabile ricevuta dal form, ovvero il testo inserito nel campo Tel. sia di tipo numerico?


  • User Attivo

    ok, sono riuscito anche ad impaginare come voglio il testo inviato alla mail

    questo è un esempio di codice

    $dati = '
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Contatti Jumbo Screen</title>
    </head>
    <body style="margin:0px;">
    <table cellpadding="0" cellspacing="0" style="height:100%;width:500px;">
    <tr>
    <td style="height:100%;padding:20px;vertical-align:top;">
    <table>
    <tr><td colspan="2">
    </td>
    </tr>
    <tr><td width="110"><b>Nome: </b></td>
    <td width="300">'.$nome.'</td></tr>
    <tr>
    <td><b>Cognome: </b></td>
    <td>'.$cognome.'</td></tr>
    <tr>
    <td><b>Ragione Sociale: </b></td>
    <td>'.$ragsol.'</td></tr>
    <tr>
    <td><b>Nazione: </b></td>
    <td>'.$naz.'</td></tr>
    <tr>
    <td><b>Città: </b></td>
    <td>'.$cit.'</td></tr>
    <tr>
    <td><b>CAP: </b></td>
    <td>'.$cap.'</td></tr>
    <tr>
    <td><b>Indirizzo: </b></td>
    <td>'.$ind.'</td></tr>
    <tr>
    <td><b>Telefono: </b></td>
    <td>'.$tel.'</td></tr>
    <tr>
    <td><b>Cellulare: </b></td>
    <td>'.$cell.'</td></tr>
    <tr>
    <td><b>Fax: </b></td>
    <td>'.$fax.'</td></tr>
    <tr>
    <td><b>e-mail: </b></td>
    <td>'.$email.'</td></tr>
    <tr>
    <td><b>Richiesta: </b></td>
    <td>'.$testomail.'</td></tr>
    </table></td></tr>
    </table>
    </body>
    </html>';
    $headers = "From: $nome $cognome <$email>\n";
    $headers .= "Content-Type: text/html; charset=iso-8859-1\n";
    if (mail("$destinatario","NUOVO CONTATTO JUMBO SCREEN","$dati","$headers"))

    con questo ultimo codice il form funziona perfettamente


  • User Attivo

    ricontrato un piccolo problema, se scrivo un testo nel campo multiriga del form, anche se mando a capo una riga come per esempio si fa dopo il punto, nella mail ricevuta il testo rimane consecutivo, come se anziché premere invio io abbia premuto spazio, sapete dirmi come risolvere anche questo problemino?


  • User Attivo

    allora, il php usa come ritorno a capo la serie di caratteri "\r\n", puoi usare la "strreplace()" per sostituirli con il carattere html "<br>".
    esempio:
    $messaggio = strreplace ($messaggio,"\r\n","<br>");

    Prova e dimmi se funziona.
    Momino


  • User Attivo

    ok, ora provo così, grazie mi aiutato molto con questo form


  • User Attivo

    mi piace essere utile...


  • User Attivo

    allora, ho fatto come hai scritto ma non andava, non riconosce il termine strreplace credo, allora ho provato così
    $testomail = stripslashes($_POST['testomail']);
    $testomail = stripslashes($testomail,"\r\n","<br>");
    in questo caso va avanti ma la variabile testomail mi è arrivata vuota


  • User Attivo

    ho trovato questo codice, in un forum sembra serva proprio per sostituire il codice dell'invio ma non so se è proprio lo stesso caso.
    $str = str_replace(chr(13),"<br />",$stringa);

    nel mio caso come potrei usarlo?
    ho provato anche scrivere il codice così
    $testomail = stripslashes($_POST['testomail']);
    $testomail1 = str_replace($testomail,"\r\n","<br>");

    ma ricevo sempre una variabile vuota


  • User Attivo

    ok, trovata la dritta, funziona così

    $testomail = stripslashes($_POST['testomail']);
    $testomail1 = str_replace(chr(13),"<br />",$testomail);


  • User Attivo

    Ok altro quesito, la mail che deve inviarmi il form tramite il file php deve arrivare con uno sfondo, questo però non mi arriva, forse non riconosce l'url dato che è inserita all'interno dei tag html che sono a loro volta contenuti in una variabile, forse se riesco ad inserire in una variabile l'immagine riesco anche ad inviarla.
    Qualche suggerimento?


  • User Attivo

    no si è capito niente!!!


  • User Attivo

    o, scusa, cerco di spiegarmi meglio, come sai io ho questo form che invia tramite la pagina php i dati in esso immessi ad una mail da me indicata, e fin qui credo che non vi siano problemi.
    Sono anche riuscito a dare una formattazione html alla mail che viene inviata.
    Per farlo ho inserito i dati da inviare in una variabile.

    questo è il codice

    $dati = '
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Contatti Jumbo Screen</title>
    </head>
    <body>
    <table width="780" height="3000" border="0" align="left" cellpadding="0" cellspacing="0">
    <tr background="Images/Sfondomail.jpg">
    <td valign="top" ><table width="780" height="2591" border="0" cellpadding="0" cellspacing="0">
    <tr>
    <td width="23" height="97"> </td>
    <td width="757" height="97"> </td>
    </tr>
    <tr>
    <td height="788"> </td>
    <td height="2900" valign="top"><table>
    <tr>
    <td colspan="2"></td>
    </tr>
    <tr>
    <td width="131"><b>Nome: </b></td>
    <td width="549">'.$nome.'</td>
    </tr>
    <tr>
    <td><b>Cognome: </b></td>
    <td>'.$cognome.'</td>
    </tr>
    <tr>
    <td><b>Ragione Sociale: </b></td>
    <td>'.$ragsol.'</td>
    </tr>
    <tr>
    <td><b>Nazione: </b></td>
    <td>'.$naz.'</td>
    </tr>
    <tr>
    <td><b>Città: </b></td>
    <td>'.$cit.'</td>
    </tr>
    <tr>
    <td><b>CAP: </b></td>
    <td>'.$cap.'</td>
    </tr>
    <tr>
    <td><b>Indirizzo: </b></td>
    <td>'.$ind.'</td>
    </tr>
    <tr>
    <td><b>Telefono: </b></td>
    <td>'.$tel.'</td>
    </tr>
    <tr>
    <td><b>Cellulare: </b></td>
    <td>'.$cell.'</td>
    </tr>
    <tr>
    <td><b>Fax: </b></td>
    <td>'.$fax.'</td>
    </tr>
    <tr>
    <td><b>e-mail: </b></td>
    <td>'.$email.'</td>
    </tr>
    <tr>
    <td height="42" colspan="2"><div align="center"><b>Richiesta: </b></div></td>
    </tr>
    <tr>
    <td colspan="2" valign="top">'.$testomail1.'</td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </tr>
    </table>
    </body>
    </html>';

    come vedi ho iserito la riga <tr background="Images/Sfondomail.jpg"> per richiamare l'immagine che vorrei come sfondo della mail, però non viene inviata, come devo fare?


  • User Attivo

    Ho notato che l'immagine di sfondo in realtà viene inviata, questo se si inserisce una url assoluta, come avevo fatto io infatti non andava perché l'immagine la cercava sul mio pc, il problema però si ha comunque su determinati client di posta, per esempio io uso outlook e su questo l'immagine non la visualizza, ho notato che se provo a salvare una mail con uno sfondo da outlook mi crea una cartella con il file immagine ed un file filelist.xml, in pratica richiama il file xml che a sua volta richiama l'immagine,
    il codice del file xml è il seguente

    <xml xmlns:o="urn:schemas-microsoft-com:office:office">
    <o:MainFile HRef="../miamail.htm"/>
    <o:File HRef="image001.jpg"/>
    <o:File HRef="filelist.xml"/>
    </xml>

    quello che a quanto ho capito lo richiama è

    <link rel=File-List href="miamail_file/filelist.xml">
    <link rel=Edit-Time-Data href="miamal_file/editdata.mso">

    e ho trovato anche qui la seguente linea
    background="miamail_file/image001.jpg"

    dovrei caricare l'immagine tramite un altro file xml?


  • User Attivo

    mi arrendo sull'xml...
    credo che con i percorsi assoluti debba funzionare, a volte i programmi di posta bloccano le immagini esterne, mettendo come opzione la visualizzazione o meno delle immagini (anche thunderbird lo fa), quindi non credo che ti debba affannare più di tanto, certe cose non dipendono da noi...