Jump to content

problem with symbols when form submitted


speed

Recommended Posts

I have a form on this page http://elitetradesmen.com/Job%20descriptions/101.php everything submits fine apart from one thing. When i receive the email from the submitted form the £ sign which is entered in the quote field always has a  in front of it. Is this something to do with the char set assigned to the feild. Any help which will resolve this annoying problem would be much appreciated.

 

<?php

 

ini_set('display_errors', 1);

 

extract($_POST);

 

if (!file_exists("../config.php"))

 

{

$host = $_SERVER[HTTP_HOST ];

$path = pathinfo($_SERVER['PHP_SELF']);

$file_path = $path['dirname'];

exit;

}

 

include "../config.php";

 

if ($sendto_email == "changeme@example.com")

 

{

exit;

}

 

if (!empty($_POST['job_number']))

{

$msg = "job_number; $_POST[job_number] ";

}else{

$job_number = NULL;

$info_error .= $lang_nojobnumber . "<br>";

}

 

if (!empty($_POST['your_business_name']))

{

$msg = "your_business_name; $_POST[your_business_name] ";

}else{

$your_business_name = NULL;

$info_error .= $lang_nobusiness . "<br>";

}

 

if (!empty($_POST['your_start_date']))

{

$msg = "your_start_date; $_POST[your_start_date] ";

}else{

$your_start_date = NULL;

$info_error .= $lang_nostartdate . "<br>";

}

 

if (!empty($_POST['your_completion_date']))

{

$msg = "your_completion_date; $_POST[your_completion_date] ";

}else{

$your_completion_date = NULL;

$info_error .= $lang_nocompletiondate . "<br>";

}

 

if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $senders_email))

{

$error = "1";

$info_error .= $lang_invalidemail . "<br>";

}

 

if (!empty($_POST['additional_information']))

{

$msg = "additional_information; $_POST[additional_information] ";

}else{

$additional_information = NULL;

$info_error .= $lang_noadditionalinformation . "<br>";

}

 

if (empty ($security_code)) 

{

$error = "1";

$info_error .= $lang_nocode . "<br>"; 

}

 

if ($terms != "1")

{

$error = "1";

$info_error .= "Please accept the terms and conditions and try again<br><br>"; 

  }

 

elseif ($security_code != $randomness) 

{

$error = "1";

$info_error .= $lang_wrongcode . "<br>"; 

}

 

if ($showlink != "no")

 

{

$link = "<br><span style=\"font-size: 10px;\">Powered by <a href=\"http://www.bellonline.co.uk/web-services/free/scripts/php-mailer-script/\" title=\"free PHP mailer script\">BELLonline PHP mailer script</a></span>";

}

 

if ($error == "1")

 

{

$info_notice = "<span style=\"color: " . $error_colour . "; font-weight: bold;\">" . $lang_error . "</span><br>";

 

if (empty ($submit))

{

$info_error = "";

$info_notice = $lang_notice;

}

 

function Random()

{

$chars = "ABCDEFGHJKLMNPQRSTUVWZYZ23456789";

srand((double)microtime()*1000000);

$i = 0;

$pass = '' ;

while ($i <= 4)

{

$num = rand() % 32;

$tmp = substr($chars, $num, 1);

$pass = $pass . $tmp;

$i++;

}

return $pass;

}

$random_code = Random();

$mail_message = stripslashes($mail_message);

 

print "<form name=\"BELLonline_email\" method=\"post\" style=\"margin: 0;\" action=\"\">";

 

echo "<strong><font color=\"FF0000\">".$info_error."</font></strong>";

 

?>

   

    <!--Elitetradesmen form -->

   

<p>To quote for this job please fill in the details below:</p>

 

    <p><BR>           

<LABEL for="job_number">Job Number: </LABEL>         

                                           

                     

<label for="your_business_name">Your Business Name: <br />

<input name="job_number" type="text" id="job_number" value="<?=$job_number;?>" />

   

                

 

<input type="text" id="your_business_name" name="your_business_name" value="<?=$your_business_name;?>" />

<br /></label><BR>     

<label for="your_start_date">Your Start Date: </label>

                                       

                     

    Your Completion Date:<BR>

<INPUT type="text" id="your_start_date" name="your_start_date" value="<?=$your_start_date;?>">

<label for="your_completion_date">

   

                 

       

    <input type="text" id="your_completion_date" name="your_completion_date" value="<?=$your_completion_date;?>"/>

<br /><br />

    <label for="email">Email:</label><br />

<input type="text" id="senders_email" name="senders_email" value="<?=$senders_email;?>"/>

<br /><label for="additional_information">

   

                  

 

<br /></label>

Your quote with any additional information:

<br />

<textarea name="additional_information" cols="35" rows="5" id="details" name="additional_information"><?=$additional_information;?></textarea>

<br /><BR>

    <label>

    <input name="terms" type="checkbox" id="terms" value="1" /> Please check the box to confirm you have read and agree to our <a href="../policies.html">Terms and conditions

    </a></label>

    <a href="../policies.html">

    <br/>

    </a><br/>           

           

            <!-- end elite tradesmen form -->

               

    <?

 

// DO NOT EDIT THE BELOW

 

print "Please enter the text in the box. (case sensitive): <input name=\"security_code\" type=\"text\" id=\"security_code\" size=\"5\">

            <b>$random_code</b><input name=\"randomness\" type=\"hidden\" id=\"randomness\" value=\"$random_code\">

      <p><br />

  <input name=\"submit\" type=\"submit\" id=\"submit\" value=\"$lang_submit\" class=\"mailform_button\">

</form>";

 

}

else

{

 

if ($checkdomain == "yes")

{

$sender_domain = substr($senders_email, (strpos($senders_email, '@')) +1);

$recipient_domain = substr($sendto_email, (strpos($sendto_email, '@')) +1);

if ($sender_domain == $recipient_domain)

{

print "Sorry, you cannot send messages from this domain ($sender_domain)";

exit;

}

}

 

$info_notice = $lang_sent;

 

/* THE FOLLOWING CODE FORMATS THE EMAIL CONTENT */

//We create a mail_message field with any POSTED FORM ELEMENT.

//To access such an element, we use the name of any form input with a

//$ symbol before it, so for example to get their name, I use senders_name

 

$mail_subject = "Email enquiry from Elite Tradesmen website";

$mail_message = "***<b>ELITE TRADESMEN WEBSITE - QUOTE FOR WORK</b>***<br/><br/>"

. $mail_message .

"Job Number: ". $job_number .

"<br/><br/>Business Name: ". $your_business_name .

"<br/><br/>Email: ". $senders_email . 

"<br/><br/>Start Date: ". $your_start_date .

"<br/><br/>Completion Date: ". $your_completion_date .

"<br/><br/>Quote with additional information: ". $additional_information;

 

/* END CODE TO FORMAT MAIL CONTENT */

 

//$mail_message = stripslashes($mail_message);

$senders_email = preg_replace("/[^a-zA-Z0-9s.@-_]/", "-", $senders_email);

$senders_name = preg_replace("/[^a-zA-Z0-9s]/", " ", $senders_name);

$additional_information = preg_replace("/[^a-zA-Z0-9s]/", " ", $additional_information);

$headers .= "From: $senders_name <$senders_email> \r\n";

    $headers .= "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=utf-8";

$headers .= "X-Mailer: Mailscript by Dave Hayward http://www.megaginge.info megaginge@gmail.com \r\n";

mail($sendto_email, $mail_subject, $mail_message, $headers);

 

// THE FOLLOWING CODE SORTS THE REDIRECT TO THANKS PAGE //

 

?>

        <script type="text/javascript">

          <!--

          window.location = "thankyou5.html";

          //-->

        </script>

<?

 

//END OF REDIRECT CODE

 

}

 

?>

Link to comment
Share on other sites

So the user actually enters the character £ into the quote field and this arrives via email with  in front of it?

 

Have you tried outputting the form prior to sending the email to see if the text is outputted correctly before the mail is sent?  This would at least let you know if the issue is with your form or mail delivery.

Link to comment
Share on other sites

So the user actually enters the character £ into the quote field and this arrives via email with  in front of it?

 

Have you tried outputting the form prior to sending the email to see if the text is outputted correctly before the mail is sent?  This would at least let you know if the issue is with your form or mail delivery.

 

Sorry but i'm new to this, can you tell me how to do what you suggest.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.