Я работаю с PHP mail()
и имею контактную форму, которая posts
поля ввода submit
. Все входы в форме html привязаны к ним так, чтобы PHP мог получить их значения.
<form id="main-contact-form" class="contact-form" name="contact-form" method="post" action="sendemail.php" role="form">
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<input type="text" name="name" class="form-control" required="required" placeholder="Name">
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<input type="text" name="email" class="form-control" required="required" placeholder="Email address">
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<textarea name="message" id="message" required="required" class="form-control" rows="8" placeholder="Message"></textarea>
</div>
<div class="form-group">
<button type="submit" class="btn btn-danger btn-lg">Send Message</button>
</div>
</div>
</div>
</form>
На submit
форме posted
к sendemail.php
для извлечения значений входных и отправить по электронной почте:
<?php
header('Content-type: application/json');
$status = array(
'type'=>'success',
'message'=>'Email sent!'
);
$name = @trim(stripslashes($_POST['name']));
$email = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));
$email_from = $email;
$email_to = '[email protected]';
$body = 'Name: ' . $name . "\n\n" . 'Email: ' . $email . "\n\n" . 'Subject: ' . $subject . "\n\n" . 'Message: ' . $message;
$success = @mail($email_to, $subject, $body, 'From: <'.$email_from.'>');
echo json_encode($status);
die;
Как вы можете видеть, что я пытаюсь получить значение формы с помощью:
$name = @trim(stripslashes($_POST['name']));
$email = @trim(stripslashes($_POST['email']));
$subject = @trim(stripslashes($_POST['subject']));
$message = @trim(stripslashes($_POST['message']));
Который ссылается на правильные имена, связанные с именем каждой формы ввода
Но его не получать фактические значения так, когда я получаю электронную почту все тело сообщения содержит это:
Name:
Email:
Subject:
Message:
, а не фактическое содержание feilds.
Я прочитал, что PHP не разобрать POST, когда ваш ENCTYPE отличается от application/x-www-form-urlencoded
или multipart/form-data
, но я не имею никакого enctype
Аттрибут на моем form
.
результат var_dump ($ _ POST):
array(0) {
}
Я не могу видеть, где я пошло не так
Не подавляйте ошибки (** '' @ **), исправить код и обрабатывать ошибки. – Darren
Плюс, если вы используете связанный JS здесь, покажите его. –
Привет, Фред, это то, о чем я просил, но до сих пор не получил ответа. – Franco