Контактная страница php
Проблема - > при нажатии кнопки "Отправить" открывается код "send.php" в браузере, и сообщение об успехе не отображается
HTML-код
<form action="send.php" name="form1" method="post" id="third1" style="margin-left:15%; margin-top:5%;
border:none">
<!-- Name -->
<label><strong><span class="blue">*</span> Name : </strong></label>
<input id="name" type="text"size="20" />
<br>
<!-- Email -->
<label><strong><span class="blue">*</span> Email : </strong></label>
<input id="email" name="email" type="text" size="20" />
<br>
<!-- Subject -->
<label><strong><span class="blue">*</span> Subject : </strong></label>
<input id="subject" name="subject" type="text" size="20" />
<!-- Message -->
<label for="msg"><strong><span class="blue">*</span> Your message : </strong></label><br />
<textarea id="message" name="message" type="text" class="validate['required']" rows="10"
cols="30"></textarea>
<br /><br />
<input type="submit" class="buttonSubmit" value="Send it!" />
</form>
PHP-код:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$to = "email@yahoo.com";
mail ($to, $subject, $message, "From: " . $name);
echo "Your message has been sent";
?>
Пожалуйста, помогите мне найти решение. Благодарю.
2 ответа
Если вы видите код PHP в браузере, то интерпретатор PHP наверняка не обработал ваш код. Даже если PHP не работает / глючит, интерпретатор никогда не допустит появления кода на стороне клиента. Похоже, конфигурация вашего веб-сервера не завершена, или вы видите страницу формы вне области видимости сервера. Убедитесь, что форма html (но по крайней мере) PHP-файла находится в корневом каталоге или подкаталоге документа сервера или в правильно настроенном пути vhost. Кроме того, проверьте, правильно ли работает ваш PHP, с помощью более простого кода, например:
@nevermind4 заметил это правильно - вам не хватает атрибута name при первом вводе.
Это не должно быть настоящей проблемой, хотя вы можете включить отчеты об ошибках, чтобы увидеть, что нарушает ваш скрипт?
Во-вторых, почта возвращает true в случае успеха, иначе false. Отображение этого сообщения должно быть условным, при false вы должны отобразить другое.