Я унаследовал наполовину законченный проект от другого разработчика, и, имея очень мало знаний о ajax и PHP, я застрял в этой контактной форме.
Ajax успешно отправляет поля в конечную точку, но в соответствии с инструментами chromes dev он выдает внутреннюю ошибку 500, а также не отправляет электронное письмо.
Если я что-то упустил здесь, я был бы очень признателен за помощь.
Это код, который я имею в конечной точке:
<?php
/****************************
* ENQUIRY FORM - Controller *
*****************************
AJAX END-Point, outputs JSON.
Processes user's form inputs, and sends email to site admins.
*/header('Content-type: application/json');
$form_values = $_POST['enquiry'];
// returned JSON object:
$output = array();
$output['message'] = "form submission received";
$output['enquiry'] = $form_values;
// set values for 'to', 'from' and 'subject'
$send_to = get_option("admin_email");
$subject = "Artbank WebForm Submission";
//change name of "sender"add_filter( 'wp_mail_from_name', 'artbank_wp_mail_from_name' );
function artbank_wp_mail_from_name( $email_from ) {
return 'Contact Form';
}
$message = "The following submission was received:\n\n"$message .= "Name: ".$form_values['name'];
$message .= "\nEmail: ".$form_values['email'];
$message .= "\nPhone: ".$form_values['phone'];
$message .= "\nInfo: ".$form_values['info'];
$message .= "\nWishlist Items: ".$form_values['wishlist-items'];wp_mail($send_to, $subject, $message);
echo json_encode($output);
?>
Вы забыли точку с запятой:
$message = "The following submission was received:\n\n";
С уважением.
Других решений пока нет …