Привет, я создал эту форму для отправки сообщений.
Я читал это много раз, и я не нашел ничего плохого. Любой отзыв?
Когда я нажимаю «enviar» (отправить), ничего не происходит. Я создал новое поле опции формы, относящееся к «теме» («assunto»).
ps.:plz игнорировать «[email protected]», в моих тестах я использую реальный.Форма контакта Php с подтверждением не работает
Надеюсь, вы сможете помочь!
Это код PHP, который я вставил перед тегом формы. Это код, который я видел здесь, но я изменил его, чтобы работать на моем сайте.
<?php $page = 'Contact';
$to = "[email protected]";
//$subject = "Company - Contato";
if (isset($_POST['submit'])) {
// Error Checking
$errors = array();
// Name Check
if (empty($_POST['name'])) {
$errors[] = 'Preencha corretamente o campo nome.';
}
// Email Check
if (empty($_POST['email'])) {
$errors[] = 'Preencha corretamente o campo email.';
}
// Assunto Check
if (empty($_POST['assunto'])) {
$errors[] = 'Preencha corretamente o campo assunto.';
}
// Message check
if (empty($_POST['message'])) {
$errors[] = 'Preencha corretamente o campo mensagem';
}
// If no errors - send email
if (empty($errors)) {
$name = htmlentities($_POST['name']);
$email = htmlentities($_POST['email']);
$assunto = htmlentities($_POST['assunto']);
$subject = 'Company - Contato';
$headers = "From: $email" . "\r\n";
$headers .= "Reply-To: $email" . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = $_POST['message'];
$message = '<html><body>';
$message .= "<br />";
$message .= "<br />";
$message .= '<div style="font: 14px Arial, sans-serif; color: #333;">';
$message .= "<b>Nome:</b> $name" . "\r\n";
$message .= "<br />";
$message .= "<b>Email:</b> $email" . "\r\n";
$message .= "<br />";
$message .= "<b>Assunto:</b> $assunto" . "\r\n";
$message .= "<br />";
$message .= "<b>Mensagem:</b>";
$message .= "<br />";
$message .= $_POST['message'];
$message .= "<br />";
$message .= '</div>';
$message .= "</body></html>";
// Send Email
mail($to,$subject,$message,$headers);
// Set sent variable to allow sent message to be displayed
$sent = 'Sent';
}
}
?>
<?php if (!empty($errors)) { ?>
<div class="error">
<ul>
<?php
foreach ($errors as $error) {
echo '<li>'.$error.'</li>';
}
?>
</ul>
</div>
<?php } ?>
<?php if(isset($sent)) { ?>
<div class="success">
<p>Sua mensagem foi enviada com sucesso.</p>
</div>
<?php } ?>
Ниже я вставили саму форму. Как вы можете видеть, я использовал те же «имена», но это не работает. :/
<form name="htmlformContato" class="form-horizontal" action="" accept-charset="UTF-8" method="post">
<div class="col-sm-6 col-xs-12">
<div class="form-group col-sm-12">
<label for="inputNome" class="control-label">Nome *</label>
<input id="inputNome" type="text" class="form-control" name="name" value="<?php echo $_POST['name']; ?>" />
</div>
<div class="form-group col-sm-12">
<label for="inputEmail" class="control-label">Email *</label>
<input id="inputEmail" type="text" class="form-control" name="email" value="<?php echo $_POST['email']; ?>" />
</div>
<div class="form-group col-sm-12">
<label for="inputAssunto" class="control-label">Assunto *</label>
<select class="form-control" name="assunto">
<option value="SelecioneAssunto">Selecione o assunto</option>
<option value="Duvidas">Dúvidas</option>
<option value="Sugestoes">Sugestões</option>
<option value="Reclamacoes">Reclamações</option>
<option value="Outro">Outro</option>
</select>
</div>
</div>
<div class="col-sm-6 col-xs-12">
<div class="form-group col-sm-12">
<label for="inputMensagem" class="control-label">Mensagem *</label>
<textarea class="form-control" rows="9" id="inputMensagem" name="message"><?php echo $_POST['message']; ?></textarea>
</div>
</div>
<div class="col-xs-12">
<div class="form-group col-xs-12">
<button type="submit" class="btn btn-bodyupA">Enviar</button>
</div>
</div>
</form>
Это может быть глупый вопрос, но сервер, на котором вы хостинг веб-сайт имеет PHP установлен правильно? Вы проверили своего инспектора браузеров для дальнейшей диагностики с помощью вкладок сети/консоли? –