When someone enters foreign characters (like Cyrillic text, and Japanese/Chinese probably gives the same problem) into the mail form, the email that arrives is all gibberish.
For example this should read "test message from *name*" in Russian.
âõÑÂтþòþõ ÑÂþþñщõýøõ þт Úþрøý
I tried changing the header content-type thing from plain text to HTML but that didn't fix it.
The script I'm using is one I found online for free (eternal thanks to its author some of the lines are in Dutch)
Does anyone know how to let the form accept foreign characters? Thanks a lot in advance !!
<?
$your_email_address="theemail@whereitissentto.com";
if(empty($_GET) && empty($_POST)) {
die('Ongeldige actie');
}
// Emular register_globals on
if (!ini_get('register_globals')) {
$superglobales = array($_SERVER, $_ENV, $_FILES, $_COOKIE, $_POST, $_GET);
if (isset($_SESSION)) {
array_unshift($superglobales, $_SESSION);
}
foreach ($superglobales as $superglobal) {
extract($superglobal, EXTR_SKIP);
}
}
// to prevent header injection
if (eregi("r",$_POST['your_email_address']) || eregi("n",$_POST['your_email_address'])){
exit;
}
// kick anyone whoever tried to inject a header in the form
foreach( $_POST as $value ){
if( strpos($value,'Content-Type:') !== FALSE ){
exit;
}
}
$fields = array_keys($_POST);
function headfunction($url) {
header ("Location: $url");
}
// protect the variable $reserved_vars
if(isset($reserved_vars)) {
unset($reserved_vars);
}
$reserved_vars = array("css_file", "background_color", "background_image", "text_color", "link_color", "visited_link_color", "active_link_color", "font_name", "font_size", "highlight_color", "required_fields", "after_url", "check_email_address", "subject", "your_email_address", "env_report", "owner_name", "autoresponse", "response_subject", "response_mail", "dodosmail_header_file", "dodosmail_footer_file");
function include_dodosmail_header($dodosmail_header_file) {
global $reserved_vars;
foreach($reserved_vars as $reserved_var) {
global $$reserved_var;
}
if(is_file($dodosmail_header_file)) {
include_once($dodosmail_header_file);
return;
} else {
echo "<html>n";
echo "<head>n";
echo "<title>n";
echo "DodosMailn";
echo "</title>n";
if($css_file != "")
echo "<link rel="stylesheet" type="text/css" href="$css_file">n";
echo "</head>n";
echo "<body bgcolor="$background_color" background="$background_image" text="$text_color" link="$link_color" vlink="$visited_link_color" alink="$active_link_color">n";
echo "<font face="$font_name" size="$font_size">n";
}
}
function include_dodosmail_footer($dodosmail_footer_file) {
global $reserved_vars;
foreach($reserved_vars as $reserved_var) {
global $$reserved_var;
}
if(is_file($dodosmail_footer_file)) {
include_once($dodosmail_footer_file);
return;
} else {
echo "</font>n</body>n</html>";
}
}
function dodosmail_error_handle($msg) {
global $highlight_color;
if(isset($highlight_color)) {
$extra_begin = "<font color="".$highlight_color."">";
$extra_end = "</font>";
} else {
$extra_begin = "<span class="DodosMailErrorHighLight">";
$extra_end = "</span>";
}
return $extra_begin.$msg.$extra_end;
}
// checking required fields
// in case they used comma and space, replace
if(strstr($required_fields, ", ")) {
$required_fields = str_replace(", ", ",", $required_fields);
} else {
$required_fields = $required_fields;
}
$required_fields = explode(",", $required_fields);
for($i = 0; $i < count($required_fields); $i++) {
$required_var_name = $required_fields[$i];
if(empty($$required_var_name)) {
include_dodosmail_header($dodosmail_header_file);
echo "<p class="DodosMailError">Fout! - het verplichte veld ".dodosmail_error_handle($required_var_name)." is niet ingevuld.n";
echo "<br /><br /><a href="javascript:history.back(1)">Terug</a>n";
echo "</p>n";
include_dodosmail_footer($dodosmail_footer_file);
exit;
}
}
if($check_email_address == "yes" && !empty($email)) {
if(!check_email($email)) {
include_dodosmail_header($dodosmail_header_file);
echo "<p class="DodosMailError">Fout - het adres ".dodosmail_error_handle($email)." is niet geldig.n";
echo "<br /><br /><a href="javascript:history.back(1)">Terug</a>n";
echo "</p>n";
include_dodosmail_footer($dodosmail_footer_file);
exit;
}
}
for($i = 0; $i < count($fields); $i++) {
$actual_var = $fields[$i];
if(in_array($actual_var, $reserved_vars)) {
$inside_mail = $inside_mail;
} else {
if(is_array($$actual_var)) {
$inside_mail.= "$actual_var: ";
foreach($$actual_var as $actual_val) {
$inside_mail.= "$actual_val ";
}
$inside_mail.= "n";
} else {
$actual_val = stripslashes($$actual_var);
$inside_mail.= "$actual_var: $actual_valn";
}
}
}
// getting other information from the form
$cname = gethostbyaddr($_SERVER[REMOTE_ADDR]);
$inside_mail.=
"
-----------------------------------------------------------------------
SENDER INFO:
IP: $_SERVER[REMOTE_ADDR]
Computer Name: $cname
Browser Type: $_SERVER[HTTP_USER_AGENT]
Page Referer: $_SERVER[HTTP_REFERER]
-----------------------------------------------------------------------
";
$headers .= "MIME-Version: 1.0rn";
$headers .= "X-Priority: 3rn";
$headers .= "X-MSMail-Priority: Normalrn";
$headers .= "X-Mailer: DodosMail 2.0 http://regretless.com/scripts/rn";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "rn";
//$headers .= "Date: ".date("R")."rn";
$headers .= "From: $name <$email>rn";
$success = mail($your_email_address, $subject, $inside_mail, $headers);
if($success) {
if($autoresponse == "yes") {
$response_subject = stripslashes($response_subject);
$response_mail = stripslashes($response_mail);
mail($email, $response_subject, $response_mail, "From: $owner_name <$your_email_address>");
}
if($after_url == "") {
// out put send info
include_dodosmail_header($dodosmail_header_file);
echo "<p>n";
echo "Het formulier is verzonden!</p><ul>";
for($i = 0; $i < count($fields); $i++) {
$actual_var = $fields[$i];
if(in_array($actual_var, $reserved_vars))
echo "";
else {
if(is_array($$actual_var)) {
echo "<li>$actual_var: ";
foreach($$actual_var as $actual_val) {
echo "$actual_val ";
}
echo "</li>n";
} else {
$actual_val = stripslashes($$actual_var);
echo "<li>$actual_var: $actual_val</li>n";
}
}
}
echo "</ul>n<p></p>";
include_dodosmail_footer($dodosmail_footer_file);
exit;
} else {
headfunction($after_url);
}
} else {
include_dodosmail_header($dodosmail_header_file);
echo "<p class="DodosMailError">Fout - Het formulier is tijdelijk niet bruikbaar, gebruik ".dodosmail_error_handle($your_email_address)." om contact op te nemen.n";
echo "<br /><br /><a href="javascript:history.back(1)">Terug</a>n";
echo "</p>n";
include_dodosmail_footer($dodosmail_footer_file);
exit;
}
function check_email($email) {
if( (preg_match('/(@.*@)|(..)|(@.)|(.@)|(^.)/', $email)) ||
(preg_match('/^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/',$email)) ) {
return true;
}
return false;
}
?>
Calander layout
Hi i know this sounds like a simple question but i cant find the answer to it anywhere i have added a simple calander tool to the page and added some styles to it but i want to move the month name
validating url
im trying to validate url's sent to me by a formthe url's im collecting are for placing banners on my site so the url's are the link to there site and url of where there banner isURL's ARE BROKEN INTO
parsing error
can anyone explain this syntax error:Parse error: syntax error, unexpected T_IFThe error is occuring at the blank field check ie: if (!$_POST['username]...etc etc//check if form has been submittedif
Login Issue's
Code: <?php $file = fopen('user.txt', 'r');/* Set login to false initially */$login = false/* Break out of loop if login becomes true OR EOF is encountered */while(($login == false)
getAlexaRank($url) function not working
I have made a function to get alexa rankthe site is here: http://mytestsite.rack111.com/1but the Alexa rank is showing up blank and I dont know why can someone please tell me if there is something
Time-based image rotation script
I'm trying to write a PHP script that rotates an image based on what time of day it is. I want the script to show day.jpg from 6 AM to 6 PM, and to show night.jpg from 6 PM to 6 AM.I also need the
getting Vars to pass to next page.
Hello all, I have a confusing situation on my hands, i am a member of a gaming community and we are setting up a website (yay i get to be teh techie!!) im not exactly a noob with php but i am by far
Help to integrate whois Domain Details to website
Hi, can i know is their any php script r methods to add domain details to my website.I mean when user wants to know the details about a particular domain they will type in a text box, so that we need
onclick problem
I have <input type="text" name="message"><a href=page2.php>click here</a> Can i parse the value whatever written in the textbox on url
http to https
Hi,Is there any specific method/condition to move an http:// page to https:// ?