Привет, я просмотрел онлайн-учебник по php и не получил письмо от этой контактной формы и не смог понять, где я был не прав
<html>
<head></head>
<body>
<?php
if(isset($_POST["submit"])){
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
mail("[email protected]",$subject, $message, "From:" . $email);
}
?>
<h1>Contact Us</h1>
<form method="post" action="abc.html">
<table align="center" style="color:#fff;">
<tr><td style="color:black">Email:<input type="text" name="email" /></td></tr>
<tr><td style="color:black">subject:<input type="text" name="subject" /></td></tr>
<tr><td style="color:black">Message:<br>
<textarea name="message" cols="40" rows="15">Type your message here</textarea>
<input type="submit" name="submit" value="send" /></td></tr>
</table>
</form>
</body>
</html>
Есть три возможных способа заставить его работать. в котором вы должны следовать сначала одним обязательным.
1) Переименуйте файл из abc.html → abc.php, а также проверьте, доступен ли PHP и работает ли ваш локальный хост-сервер.
2) Измените свой тег формы на
<form name="mailform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> OR
<form name="mailform" method="post" action="">
чтобы ваши опубликованные данные были доступны на одной странице.
3) Вместо
if(isset($_POST["submit"])){
условие попытаться использовать
if(isset($_POST["submit"]) && isset($_POST["email"]) && isset($_POST["subject"])){
с проверкой нулевого значения. Это обеспечит доступность данных в функции почты. Также попробуйте расширить функцию почты ниже заголовков.
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers = 'From: '.$email . "\r\n" .
'X-Mailer: PHP/' . phpversion();
mail("[email protected]",$subject, $message, $headers);
Следуя этим трем шагам, вы, надеюсь, получите желаемую почту.
Вам нужно загрузить страницу:
file:///
URI).html
с PHP, очень редки).Ваш код будет работать, если вы выполните следующие две задачи:
Поскольку вы отправляете на ту же страницу, вы можете удалить часть действия.
<form method="post" action="">
Сохраните текущую страницу как.php файл.
Ваша страница будет abc.php
Теперь запустите свою страницу в браузере и отправьте форму.
ps: вам нужно будет запустить apache с установленным php.
Вы можете проверить это, создав новую страницу со следующим содержимым:
<?php phpinfo();?>
Надеюсь, это имеет смысл.
Прежде всего, отправка почты через PHP с настройками по умолчанию требует установки и настройки службы Sendmail на сервере. В Unix-серверах вы можете проверить файл /usr/spool/mail/username
или /var/log/maillog
для журнала почты() "использование".
mail
звонка? Вы смотрели в папку со спамом? Вы смотрели почтовый журнал отправляющего хоста?