- Home
- Categorie
- Coding e Sistemistica
- PHP
- Accenti strani ricevuti da modulo php
-
Ok, risolto. Nella pagina della form dovevo mettere questo meta-tag
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> e non quello che c'era prima...
Ovviamente ho dovuto convertire le lettere accentate da "è" a lettere accentate normalmente. L'unica pecca che rimane è l'apostrofo, all'arrivo della mail è così:
"l****'hai visto?" (esempio)
C'è una stanghetta di mezzo che non riesco a togliere...chissà...:)
Ok, è domenica, ho dormito poco e ho dimenticato un pò di nozioni...capita
-
dove ti esce il \ nell'oggetto?
-
potresti provare così
$subject = $_POST['object'];
echo utf8_encode($subject);
-
Ciao Adraino_Bari e grazie per le tue risposte...esce nel corpo del messaggio....:)
-
allora prova con
$body = $_POST['body'];
echo utf8_encode($body);
-
a meno che il problema è nel form che crea la variabile body
-
Ok, adesso ci provo e ti dico
-
No nulla, scrivendo > echo utf8_encode($body); dopo > $body = $_POST['body']; il contenuto nel testo della form mi va nella pagina di conferma invio, ovvero quella che processa il tutto...
Il problema delle lettere accentate l'ho risolto cambiando la codifica dei caratteri, adesso è rimasta solo l'apostrofazione che mi risulta > l'\esempio:)
-
io avevo un problema simile per quanto riguarda il return, ovvero il testo non andava mai a capo e rimaneva sequenziale, ho risolto il problema con questo codice
$body = stripslashes($_POST['body']);
$body = str_replace(chr(13),"<br />",$body);in pratica sostituivo il carattere corrispondente con il codice html <br/>
il problema è che non so quale sia quello per l'apostrofo
-
forse devi fare così ma non ne sono certo
$body = stripslashes($_POST['body']);
$body = str_replace(chr(92),"&rsquo",$body);
-
Adesso puoi esserne sicuro, funziona :D...grazie. Sono sparite le stanghettine
Grazie mille, sei stato molto gentile, davvero, speriamo che io possa esserti d'aiuto in altri ambiti visto che in php ancora sono poco ferrata
-
io ho incominciato solo da 3 mesetti il php
se non meno
-
Mi dai speranza...:D
Un ulima cosina...se io volessi applicare questa cosa anche al titolo, come dovrei fare?
Così va bene?$subject = stripslashes($_POST['object']);
$subject = str_replace(chr(92),"&rsquo",$subject);
$body = stripslashes($_POST['body']);
$body = str_replace(chr(92),"&rsquo",$body);Sto pretendendo troppo??:D
-
scusa ma non ero più sul sito, comunque secondo me puoi usare lo stesso codice,
-
Tranquillo
Sembra che io abbia risolto così:<?php
if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) {
$to = "[email protected]";$subject = "Informazioni dal sito xxx";
$body = "Contenuto del modulo:\n\n";$body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n";
$body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n";
$body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n";mail($to, $subject, $body, $headers);
echo "La mail è stata inviata correttamente.";
} else {
echo "Devi compilare la form prima di inviare.";
}
?>
Non so se la sintassi è giusta...però pare funzionare...:D
Ho mischiato quello che mi hai detto tu a un pò di cose che ricordavo io
Purtroppo non sono una programmatrice e così quando devo fare delle cose piccole mi piace farle bene e così comincio ad essere pignola.
Ti ringrazio tanto per l'aiuto
-
ovviamente hai semplificato il codice che hai postato, non vedo gli headers. comunque l'importante è che ti funzioni
-
Infatti succede che su mozzilla Thunderbird si vede tutto carino e su outlook mi arriva una mail da anonimo localhost...allora ho sistemato così:
<?php
if ((trim($_POST['object']) != "") && (trim($_POST['body']) != "")) {
$to = "[email protected]";
$headers = "From: " . $_POST['mail'] . "\n";
$subject = "Modulo proveniente da www.sito.it";
$body = "Contenuto del modulo:\n\n";$body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n";
$body .= "Oggetto: " . trim(stripslashes($_POST["object"])) . "\n";
$body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n";mail($to, $subject, $body, $headers);
echo "La mail è stata inviata con successo. Grazie per averci contattato";
} else {// altrimenti
echo "Deve compilare la form prima di inviare.";}
?>Aggiungendo quello scritto in rosso mi arriva una mail dalla mail inserita nella form...funziona tutto...però se è sbagliato sistemo, io non mi occupo di php però vorrei imparare almeno le basi, non sempre affidarmi ai collaboratori.
Io ci smanetto con le cose finchè non funzionano, ma se sintatticamente sono sbagliate le correggo
-
mi sembrava strano funzionasse tutto
-
Eheheheheh...quante cose ancora devo imparare
Grazie dell'aiuto che mi hai dato
Devo ripassare la parte codifica dei carattteri e imparare alcune cose che possono servirmi senza chiedere sempre ausilio
-
de nada