Joomla.it Forum

Joomla! 1.5.x (versione con supporto terminato) => Joomla! 1.5 => : elpayaso 26 Dec 2009, 16:43:30

: modulo form contatti
: elpayaso 26 Dec 2009, 16:43:30
ho installato nella mia pagina "contatto" (caricandolo tramite la stringa loadposition) il modulo mod_s5_quick_contact che mi fa apparire un form per consentire agli utenti di inviare mail direttamente, il modulo funziona benissimo, il problema nasce quando mi arriva la mail e le parole con l'accento assumono sembianze un pochino strane, ho ben chiaro che Joomla usa la codifica dei caratteri UTF-8, infatti non ho nessun problema nel sito, l'unico problema è con questo modulo, il modulo è costituito da un file php ed un file xml, nel file xml è riportato in alto

<?xml version="1.0" encoding="iso-8859-1"?>

tuttavia anche se cambio l'ISO con il mio UTF-8 non cambia una cippa. Un consiglio? Grazie.
: Re:modulo form contatti
: elpayaso 28 Dec 2009, 02:36:45
una parola, un verbo, un soggetto, un alito, un qualcosa. Attendo quietamente.
: Re:modulo form contatti
: elpayaso 28 Dec 2009, 16:38:18
anche con la mimica andrebbe bene. Un sussurro. Un pensiero.
: Re:modulo form contatti
: mmleoni 28 Dec 2009, 16:55:14
direi che il problema è nel differente encoding tra la pagina web ed il parser che gestisce la mail, di sicuro non nell'encoding del file di configurazione del modulo.

devi vedere l'action della form generata e intervenire sul file indicato, che molto probabilmente sarà il file php.

ciao,
marco

: Re:modulo form contatti
: elpayaso 29 Dec 2009, 16:56:31
grazie a tutti per la risposta, ho cancellato tutto ed allegato un file di testo, scusate per l'inconveniente, per quanto riguarda il modulo non è installato perché per ora ne sto provando un altro, che tuttavia non distorce nessuna lettera, quindi non dovrei avere alcun problema, probabilmente la cosa dovrebbe essere corretta nel file che ho allegato ma ci va una sapienza che non mi appartiene, tuttavia ti do il link del sito, qualora potesse servirti, www.mercurio.com.es/mercurio. Grazie per l'aiuto.

[allegato vecchio più di un anno eliminato automaticamente]
: Re:modulo form contatti
: mmleoni 29 Dec 2009, 17:39:30
2 cose

1. cancella tutto il codice e metti il file come allegato, prima che il moderatore si inca$$i, ed a ragione!!

2. mi serve il link del sito in cui c'è il problema: per esperienza so che è più facile che il problema sia nel sito che nel componente...

ciao
: Re:modulo form contatti
: ilvanni 29 Dec 2009, 18:10:59
Cancellare per cortesia tutto quel codice, pena blocco topic, grazie.
: Re:modulo form contatti
: mmleoni 01 Jan 2010, 17:17:02
grazie a tutti per la risposta...

non ho capito come mai la tua risposta, in cui dici di aver cancellato il codice, possa essere finita prima della mia e di quella del moderatore, in cui ti invitiamo a farlo... misteri dell'informatica ;)
mi sa che però questo è il motivo per cui non hai più ricevuto alcuna risposta :(

ora:

1.
server http ed html indicano lo stesso encoding: "utf-8", il modulo non specifica alcun tipo di encoding per la mail (cosa che si ottiene abbastanza facilmente inserendo un header tipo 'Content-type: text; charset=xxx'", che probabilmente c'è nell'altro componente). ciò fa pensare che il problema sia nella configurazione di php o dello smtp; non è una prova definitiva, ma un controllo sull'url da te indicato, rivela che il server per l'hosting è, molto probabilmente, basato su PHP/4.3.9 ...
dato che php 4 è fuori supporto dall' 8/8/2008 il primo consiglio è: cambia hosting!

2.
dato che non hai installato il modulo in questione, il cui codice hai allegato, continua a non installarlo!!
:
if (isset($_POST['name'])) {
    $name = $_POST['name'];
}
if (isset($_POST['email'])) {
    $email = $_POST['email'];
}
if (isset($_POST['message'])) {
    $message = $_POST['message'];
}
if (isset($_POST['subject'])) {
    $subject = $subject_prefix . $subjectspacer . $_POST['subject'];
}

// Detects mail headers to prevent spammers.
if (isset($_POST['name'])) {
if ($name != "" && $name != " ") {
   $from = urldecode($email);
   if (eregi("\r",$from) || eregi("\n",$from)){
   print "Malformed Headers were detected.";
exit;
   }
mail($_POST['email_address'], $subject, $message, "From: $name <$email>");
}
}
ARG! ma questo dove ha imparato a scrivere codice??  >:( >:(
a parte perle come $name != "" && $name != " " (trim ti dice niente :( ,  magari un bel if(trim($name)){ e basta! ), questo novello Alan Cox prende mittente, destinatario e testo da $_POST e li passa, così come sono, a mail() !?!?!?!? SPAM ASSICURATO

usa l'altro modulo, sperando che sia scritto meglio...

ciao e buon anno,
marco