[RESOLVED] Please Help A Novice With GB sign problem
Results 1 to 3 of 3

Thread: [RESOLVED] Please Help A Novice With GB sign problem

  1. #1
    Junior Member
    Join Date
    Jul 2013
    Posts
    2

    resolved [RESOLVED] Please Help A Novice With GB sign problem

    Hope someone can help a php novice.
    When my php contact form is received the sign appears like this £

    I have spent a long time trying to find a solution to the problem and several sites have suggested adding the following code to my form:

    PHP Code:
    <?php header('Content-Type: text/html; Charset=UTF-8'); ?>
    (In my html head I have the following code <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />)

    I've tried to add the suggested php header and it doesn't seem to make a difference - maybe because I have added it in the wrong place?


    My form reads as follows:

    PHP Code:
    <?php
    if(isset($_POST['email'])) {
         
        
        
    $email_to "example@example.com";
        
    $email_subject "Property Rental";
        
         
         
       function 
    died($error) {
            
    // your error code can go here
            
    echo "We are very sorry, but there were error(s) found with the form you submitted. ";
            echo 
    "These errors appear below.<br><br>";
            echo 
    $error."<br><br>";
            echo 
    "Please go back and fix these errors.<br><br>";
            die();
        }
         
        
    // validation expected data exists
        
    if(!isset($_POST['first_name']) ||
            !isset(
    $_POST['last_name']) ||
            !isset(
    $_POST['email']) ||
            !isset(
    $_POST['telephone']) ||
            !isset(
    $_POST['beds']) ||
            !isset(
    $_POST['cost']) ||
            !isset(
    $_POST['comments'])) {
            
    died('We are sorry, but there appears to be a problem with the form you submitted.');       
        }
         
        
    $first_name $_POST['first_name']; // required
        
    $last_name $_POST['last_name']; // required
        
    $email_from $_POST['email']; // not required
        
    $telephone $_POST['telephone']; // required
        
    $beds $_POST['beds']; // required
        
    $cost $_POST['cost']; // required
        
    $comments $_POST['comments']; // required
         
        
    $error_message "";
        
    $email_exp '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
      if(!
    preg_match($email_exp,$email_from)) {
        
    $error_message .= 'The Email Address you entered does not appear to be valid.<br>';
      }
        
    $string_exp "/^[A-Za-z .'-]+$/";
      if(!
    preg_match($string_exp,$first_name)) {
        
    $error_message .= 'The First Name you entered does not appear to be valid.<br>';
      }
      if(!
    preg_match($string_exp,$last_name)) {
        
    $error_message .= 'The Last Name you entered does not appear to be valid.<br>';
      }
      if(
    strlen($comments) < 2) {
        
    $error_message .= 'The Comments you entered do not appear to be valid.<br>';
      }
      if(
    strlen($error_message) > 0) {
        
    died($error_message);
      }
        
    $email_message "Form details below.\n\n";
         
        function 
    clean_string($string) {
          
    $bad = array("content-type","bcc:","to:","cc:","href");
          return 
    str_replace($bad,"",$string);
        }
         
        
    $email_message .= "First Name: ".clean_string($first_name)."\n";
        
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
        
    $email_message .= "Email: ".clean_string($email_from)."\n";
        
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
        
    $email_message .= "Bedrooms Required: ".clean_string($job)."\n";
        
    $email_message .= "Monthly Budget: ".clean_string($cost)."\n";
        
    $email_message .= "Comments: ".clean_string($comments)."\n";
         
         
    // create email headers
    $headers 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    $headers .= "Cc: example2@example.com \r\n";
    'X-Mailer: PHP/' phpversion();
    @
    mail($email_to$email_subject$email_message$headers);  
    ?>
    If I've phrased the question badly or have not given enough information please let me know - and excuse me.

    If anyone can help me to make whatever changes are necessary and advise me as to where I should add anything to the form to sort this problem out I would be very grateful.

    Thanks
    Last edited by bradgrafelman; 07-16-2013 at 12:28 PM. Reason: bbcode tags added, email address obfuscated

  2. #2
    Pedantic Curmudgeon Weedpacket's Avatar
    Join Date
    Aug 2002
    Location
    General Systems Vehicle "Thrilled To Be Here"
    Posts
    21,844
    PHP Code:
     <?php header('Content-Type: text/html; Charset=UTF-8'); ?>
    That would work if you were sending an HTTP response (that's what header is for). But since you're sending an email it won't be any use. In your case you'd add the line with your other headers (in the $headers variable)
    PHP Code:
    $headers .= "Content-Type: text/html; Charset=UTF-8\r\n"
    Or write it as &pound;. Or &#163;.
    THERE IS AS YET INSUFFICIENT DATA FOR A MEANINGFUL ANSWER
    FAQs! FAQs! FAQs! Most forums have them!
    Search - Debugging 101 - Collected Solutions - General Guidelines - Getting help at all

  3. #3
    Junior Member
    Join Date
    Jul 2013
    Posts
    2

    Problem Solved

    Thanks so much Weedpacket.
    I took the first option and it works perfectly!
    I wish I'd come to this board sooner!

    Billy

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •