Hi guys,
we have just created this site in muse www.catandbird.co.uk. we had the form working but it was very random whether we would recieve emails or not. we were advised this is because we need to input the smtp info. i have followed the info on here SMTP Autentication - #28 by kilicsencer but it is still not working. i am getting an error stating that the PHP is missing or has not been configured properly.
This is the php file that it is stating is missing ( form-u1986.php )
<?php /* If you see this text in your browser, PHP is not configured correctly on this hosting provider. Contact your hosting provider regarding PHP configuration for your site.
PHP file generated by Adobe Muse CC 2014.3.2.295
*/
require_once(‘recaptchalib.php’);
require_once(‘form_process.php’);
$form = array(
‘subject’ => ‘Contact Form Submission’,
‘heading’ => ‘New Form Submission’,
‘resources’ => array(
‘checkbox_checked’ => ‘Checked’,
‘checkbox_unchecked’ => ‘Unchecked’,
‘submitted_from’ => ‘Form submitted from website: %s’,
‘submitted_by’ => ‘Visitor IP address: %s’,
‘too_many_submissions’ => ‘Too many recent submissions from this IP’,
‘failed_to_send_email’ => ‘Failed to send email’,
‘invalid_reCAPTCHA_private_key’ => ‘Invalid reCAPTCHA private key.’,
‘invalid_field_type’ => ‘Unknown field type '%s'.’,
‘unknown_method’ => ‘Unknown server request method’
),
‘email’ => array(
‘from’ => ‘hello@catandbird.co.uk’,
‘to’ => ‘hello@catandbird.co.uk’
),
‘recaptcha’ => array(
‘private_key’ => ‘6Lf2mwYTAAAAAEr1PPVyKp5nSxSkIh_A1E7ndNLb’
),
‘fields’ => array(
‘custom_U1989’ => array(
‘order’ => 1,
‘type’ => ‘string’,
‘label’ => ‘Name’,
‘required’ => true,
‘errors’ => array(
‘required’ => ‘Field 'Name' is required.’
)
),
‘Email’ => array(
‘order’ => 3,
‘type’ => ‘email’,
‘label’ => ‘Email’,
‘required’ => true,
‘errors’ => array(
‘required’ => ‘Field 'Email' is required.’,
‘format’ => ‘Field 'Email' has an invalid email.’
)
),
‘custom_U1997’ => array(
‘order’ => 2,
‘type’ => ‘string’,
‘label’ => ‘Message’,
‘required’ => true,
‘errors’ => array(
‘required’ => ‘Field 'Message' is required.’
)
),
‘custom_U2003’ => array(
‘order’ => 4,
‘type’ => ‘string’,
‘label’ => ‘Phone’,
‘required’ => false,
‘errors’ => array(
)
),
‘recaptcha_response_field’ => array(
‘order’ => 6,
‘type’ => ‘recaptcha’,
‘label’ => ‘Image Verification’,
‘required’ => true,
‘errors’ => array(
‘required’ => ‘Field 'Image Verification' is required.’,
‘format’ => ‘Incorrect reCAPTCHA value.’
)
),
‘custom_U2078’ => array(
‘order’ => 5,
‘type’ => ‘string’,
‘label’ => ‘Website’,
‘required’ => false,
‘errors’ => array(
)
),
‘custom_U2082’ => array(
‘order’ => 7,
‘type’ => ‘string’,
‘label’ => ‘Budget’,
‘required’ => false,
‘errors’ => array(
)
)
)
);
process_form($form);
?>
which only started showing after i followed the post mentioned.
just in case you need it here is my amended php form process ( form_process.php )
<?php /*
If you see this text in your browser, PHP is not configured correctly on this hosting provider.
Contact your hosting provider regarding PHP configuration for your site.
PHP file generated by Adobe Muse CC 2014.3.2.295
*/
require_once(‘form_throttle.php’);
function process_form($form) {
if ($_SERVER[‘REQUEST_METHOD’] != ‘POST’)
die(get_form_error_response($form[‘resources’][‘unknown_method’]));
if (formthrottle_too_many_submissions($_SERVER[‘REMOTE_ADDR’]))
die(get_form_error_response($form[‘resources’][‘too_many_submissions’]));
// will die() if there are any errors
check_required_fields($form);
// will die() if there is a send email problem
email_form_submission($form);
}
function get_form_error_response($error) {
return get_form_response(false, array(‘error’ => $error));
}
function get_form_response($success, $data) {
if (!is_array($data))
die(‘data must be array’);
$status = array();
$status[$success ? ‘FormResponse’ : ‘MusePHPFormResponse’] = array_merge(array(‘success’ => $success), $data);
return json_serialize($status);
}
function check_required_fields($form) {
$errors = array();
foreach ($form[‘fields’] as $field => $properties) {
if (!$properties[‘required’])
continue;
if (!array_key_exists($field, $_REQUEST) || empty($_REQUEST[$field])) array_push($errors, array('field' => $field, 'message' => $properties['errors']['required'])); else if (!check_field_value_format($form, $field, $properties)) array_push($errors, array('field' => $field, 'message' => $properties['errors']['format']));
}
if (!empty($errors))
die(get_form_error_response(array(‘fields’ => $errors)));
}
function check_field_value_format($form, $field, $properties) {
$value = get_form_field_value($field, $properties, $form[‘resources’]);
switch($properties[‘type’]) {
case ‘checkbox’:
case ‘string’:
case ‘captcha’:
// no format to validate for those fields
return true;
case 'recaptcha': if (!array_key_exists('recaptcha', $form) || !array_key_exists('private_key', $form['recaptcha']) || empty($form['recaptcha']['private_key'])) die(get_form_error_response($form['resources']['invalid_reCAPTCHA_private_key'])); $resp = recaptcha_check_answer($form['recaptcha']['private_key'], $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]); return $resp->is_valid;
case 'email': return 1 == preg_match('/^[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&\'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i', $value);
default: die(get_form_error_response(sprintf($form['resources']['invalid_field_type'], $properties['type'])));
}
}
function email_form_submission($form) {
if(!defined(‘PHP_EOL’))
define(‘PHP_EOL’, ‘\r\n’);
$form_email = ((array_key_exists(‘Email’, $_REQUEST) && !empty($_REQUEST[‘Email’])) ? cleanup_email($_REQUEST[‘Email’]) : ‘’);
$to = $form[‘email’][‘to’];
$subject = $form[‘subject’];
$message = get_email_body($subject, $form[‘heading’], $form[‘fields’], $form[‘resources’]);
require ‘PHPMailerAutoload.php’;
$mail = new PHPMailer;
$mail->isSMTP();
$mail->Host = ‘mail.catandbird.co.uk’; // update this line
$mail->SMTPAuth = true;
$mail->Username = ‘hello@catandbird.co.uk’; // update this line
$mail->Password = ‘PASSWORD WAS HERE’; // update this line
// update this line$mail->SMTPSecure = ‘tls’;
$mail->From = ‘hello@catandbird.co.uk’;
$mail->FromName = ‘hello@catandbird.co.uk’;
$mail->addAddress($to);
$mail->isHTML(true);
$mail->Subject = $subject;
$mail->Body = $message;
$sent = $mail->send();
if($sent)
{
echo ‘{“FormResponse”: { “success”: true,“redirect”:“thank-you.html”}}’;
}
else
{
echo ‘{“MusePHPFormResponse”: { “success”: false,“error”: “Failed to send email ’ . $mail->ErrorInfo . '”}}’;
}
}
$success_data = array(
‘redirect’ => $form[‘success_redirect’]
);
get_form_response(true, $success_data);
}
function get_email_headers($to_email, $form_email) {
$headers = 'From: ’ . $to_email . PHP_EOL;
$headers .= 'Reply-To: ’ . $form_email . PHP_EOL;
$headers .= ‘X-Mailer: Adobe Muse CC 2014.3.2.295 with PHP’ . PHP_EOL;
$headers .= ‘Content-type: text/html; charset=utf-8’ . PHP_EOL;
return $headers;
}
function get_email_body($subject, $heading, $fields, $resources) {
$message = ‘’;
$message .= ‘’;
$message .= ‘’ . encode_for_form($subject) . ‘’;
$message .= ‘’;
$message .= ‘’ . $heading . ‘
’;
$message .= ‘’;$sorted_fields = array();
foreach ($fields as $field => $properties) {
// Skip reCAPTCHA from email submission
if (‘recaptcha’ == $properties[‘type’])
continue;array_push($sorted_fields, array('field' => $field, 'properties' => $properties));
}
// sort fields
usort($sorted_fields, ‘field_comparer’);’;foreach ($sorted_fields as $field_wrapper)
$message .= ‘$message .= ‘
’;
’ . encode_for_form($field_wrapper[‘properties’][‘label’]) . ‘: ’ . get_form_field_value($field_wrapper[‘field’], $field_wrapper[‘properties’], $resources) . ‘
$message .= ‘
’;
$message .= ‘’ . sprintf($resources[‘submitted_from’], encode_for_form($_SERVER[‘SERVER_NAME’])) . ‘’;
$message .= ‘’ . sprintf($resources[‘submitted_by’], encode_for_form($_SERVER[‘REMOTE_ADDR’])) . ‘’;
$message .= ‘’;
return cleanup_message($message);
}
function field_comparer($field1, $field2) {
if ($field1[‘properties’][‘order’] == $field2[‘properties’][‘order’])
return 0;
return (($field1[‘properties’][‘order’] < $field2[‘properties’][‘order’]) ? -1 : 1);
}
function is_assoc_array($arr) {
if (!is_array($arr))
return false;
$keys = array_keys($arr);
foreach (array_keys($arr) as $key)
if (is_string($key)) return true;
return false;
}
function json_serialize($data) {
if (is_assoc_array($data)) {
$json = array();
foreach ($data as $key => $value) array_push($json, '"' . $key . '": ' . json_serialize($value));
return '{' . implode(', ', $json) . '}';
}
if (is_array($data)) {
$json = array();
foreach ($data as $value) array_push($json, json_serialize($value));
return '[' . implode(', ', $json) . ']';
}
if (is_int($data) || is_float($data))
return $data;
if (is_bool($data))
return $data ? ‘true’ : ‘false’;
return ‘"’ . encode_for_json($data) . ‘"’;
}
function encode_for_json($value) {
return preg_replace(array(‘/(['"\t\\])/i’, ‘/\r/i’, ‘/\n/i’), array(‘\\$1’, ‘\r’, ‘\n’), $value);
}
function encode_for_form($text) {
return htmlentities($text, ENT_COMPAT, ‘UTF-8’);
}
function get_form_field_value($field, $properties, $resources) {
$value = $_REQUEST[$field];
switch($properties[‘type’]) {
case ‘checkbox’:
return (($value == ‘1’ || $value == ‘true’) ? $resources[‘checkbox_checked’] : $resources[‘checkbox_unchecked’]);
case 'string': case 'captcha': case 'recaptcha': case 'email': return encode_for_form($value);
default: die(get_form_error_response(sprintf($resources['invalid_field_type'], $properties['type'])));
}
}
function cleanup_email($email) {
$email = encode_for_form($email);
$email = preg_replace(‘=((||0x0A/%0A|0x0D/%0D|\n|\r)\S).*=i’, null, $email);
return $email;
}
function cleanup_message($message) {
$message = wordwrap($message, 70, “\r\n”);
return $message;
}
?>
if anyone could please help that would be great