Posted
·
Edited by requinix please use the Code <> button when posting code
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 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 existsif(!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.
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.
php online form (letter) to multiple recipients
in PHP Coding Help
Posted · Edited by requinix
please use the Code <> button when posting code
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:
If there is an online script or service that already has a current php script I would be interested.