Jump to content

KarenL

New Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by KarenL

  1. I have been trying to make one of those pre-written online web site letters (using a form) that the site visitor just provides the name and email address on and sends the letter (form).

    It's on http://spga.ca/pet-friendly-tenancies-bc.html half way down the web page

    It's been a long long time since I have made one and this one is in php which I never seem to have any luck with.

    In brief:

     

    • the server has been updated to php version 8.2 that's maybe part of the problem?
    • I wanted to include multiple email addresses (the politicians whom the letter is addressed to) and the php script can't seem to do that without a parsing error
    • The processing script is on contact-form-process.php 
    <?php
    
    if (isset($_POST['Email'])) {
    
        // EDIT THE 2 LINES BELOW AS REQUIRED
        $email_to = "email1@website.com", "email2@whatever.com";  
        $email_subject = "Pet Friendly Tenancies for BC";
    
        function problem($error)
        {
            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['Name']) ||
            !isset($_POST['Email']) ||
            !isset($_POST['Message'])
        ) {
            problem('We are sorry, but there appears to be a problem with the form you submitted.');
        }
    
        $name = $_POST['Name']; // required
        $email = $_POST['Email']; // required
        $message = $_POST['Message']; // required
    
        $error_message = "";
        $email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
    
        if (!preg_match($email_exp, $email)) {
            $error_message .= 'The Email address you entered does not appear to be valid.<br>';
        }
    
        $string_exp = "/^[A-Za-z .'-]+$/";
    
        if (!preg_match($string_exp, $name)) {
            $error_message .= 'The Name you entered does not appear to be valid.<br>';
        }
    
        if (strlen($message) < 2) {
            $error_message .= 'The Message you entered do not appear to be valid.<br>';
        }
    
        if (strlen($error_message) > 0) {
            problem($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 .= "Name: " . clean_string($name) . "\n";
        $email_message .= "Email: " . clean_string($email) . "\n";
        $email_message .= "Message: " . clean_string($message) . "\n";
    
        // create email headers
        $headers = 'From: ' . $email . "\r\n" .
            'Reply-To: ' . $email . "\r\n" .
            'X-Mailer: PHP/' . phpversion();
        @mail($email_to, $email_subject, $email_message, $headers);
    ?>
    
        <!-- include your success message below -->
    
        Thank you!
    
    <?php
    }
    ?>

    If there is an online script or service that already has a current php script I would be interested. 

×
×
  • 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.