|
|
|
| Доброго всем времени суток!
Я новичек в web программировании, поэтому прошу вашей помощи. Необходим пример странички со следующими полями: поле ввода Имени, поле ввода E-Mail'а, поле ввода Темы, поле ввода Письма и кнопка Отправить. Смысл в том, чтобы на мой почтовый ящик пришло письмо с этими данными. Прошу привести пример полного кода страницы, желательно с комментариями.
Заранее благодарен! | |
|
|
|
|
|
|
|
|
для: cheops
(11.07.2005 в 00:32)
| | Вы меня извините за непонятливость, но в PHP я не силен, да и там приведены отрывочные куски кода, которые без комментариев. Я пробовал это делать через формы, но при отправке задействуется Outlook, а хотелось бы сделать поудобнее - чтобы нажал кнопку и письмо отправилось (без подтверждения в Outlook'е). Если можно полный текст странички.... Спасибо! | |
|
|
|
|
|
|
|
для: Den_Art.
(11.07.2005 в 16:49)
| | Вот, как раз недавно делал. Вроде так это делается.
<?php
$comp=htmlspecialchars($_POST['01Company_Name']);
$name=htmlspecialchars($_POST['02*Name']);
$title=htmlspecialchars($_POST['03Title']);
$addr=htmlspecialchars($_POST['04*Address']);
$code=htmlspecialchars($_POST['05Post_code']);
$tel=htmlspecialchars($_POST['07*TEL_Number']);
$fax=htmlspecialchars($_POST['08FAX_Number']);
$email=htmlspecialchars($_POST['09*E-Mail_Address']);
$msg=htmlspecialchars($_POST['11Question']);
?>
<html>
<head>
<title>Отправка письма</title>
</head>
<body link=green vlink=green alink=green bgcolor=silver>
<center><b>
<?php
if (empty($name)) {die ("Вы не указали своё имя!
<a href=javascript:history.back()><<Назад</a>");} else {
if (empty($email) or !preg_match("/[a-zA-Z0-9_]+@[a-zA-Z0-9^\.]+\.[a-z]{2,3}/i", $email))
{die ("Не указан адрес электронной почты, либо он указан в неверном формате.
<a href=javascript:history.back()><<Назад</a>");} else {
if (empty($msg)) {die ("Не заполнено поле \"Запрос\"!
<a href=javascript:history.back()><<Назад</a>");} else {
?>
</b></center>
<br><br><br>
<div align=center
style="padding:15;border-style:groove;background-color:#dddddd;margin=1cm">
<font size=+1 color=darkred>
Спасибо за ваше письмо! Мы постараемся
ответить на него в ближайшее время.<br><br>
<font><a href=../index.html>
Вернуться на главную страницу</a></font>
</font>
</div>
<?php
$subj="Сообщение от посетителя сайта";
$body= "
<br> ДАННЫЕ ОТПРАВИТЕЛЯ:<br><br>
Компания: $comp <br>
Имя: $name <br>
Должность: $title <br>
Почтовый адрес: $addr <br>
Почтовый код: $code <br>
Телефон: $tel <br>
Факс: $fax <br>
Электронная почта: $email <br><br><br>
СООБЩЕНИЕ:<br><br>$msg <br><br>";
$email = "вася@лопух.ру";
$headers = "Content-Type: text/html; charset=windows-1251";
mail("$email", "$subj", "$body", "$headers");
}
}
}
?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Киналь
(11.07.2005 в 18:19)
| | Что-то это нето, или это как-то надо переделать - выводит сразу что письмо отправлено, а ввода данных в поля нет.... | |
|
|
|
|
|
|
|
для: Den_Art.
(11.07.2005 в 16:49)
| | Я имел ввиду вот этот скрипт
<?
$adminmail = "admin@mail.ru";
if(isset($a))
{
$email_array = explode (",", $email);
for ($i=0; $i < count($email_array); $i++)
{
$mailheaders = "Content-Type: text/plain; charset=windows-1251\n";
$mailheaders .= "From: admin <$adminmail>\n";
mail($email_array[$i], $subject, $message, $mailheaders);
}
print "<HTML><HEAD>\n";
print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=test.php'>\n";
print "</HEAD></HTML>\n";
}
?>
<form method="post" action="test.php">
<input type="hidden" name="a">
вводим адреса <input type="text" name="email"> <br>
<input type="text" name="subject"><br>
<TEXTAREA name="message" rows=7 wrap=virtual cols=40></TEXTAREA>
<BR>
<INPUT type=submit value="Отослать"></form>
|
Разве он требует Outlook? | |
|
|
|
|
|
|
|
для: Den_Art.
(10.07.2005 в 22:43)
| | Можешь попробовать этот скрипт, коментарии присутствуют :)
Здесь 2 файла!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Отправка письма</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form action=file.php method="post">
<table width="790" border="0">
<tr>
<td width="114">Имя:</td>
<td width="666"><input type="text" name=name> </td>
</tr>
<tr>
<td>E-mail:</td>
<td><input type="text" name=e-mail></td>
</tr>
<tr>
<td>Тема:</td>
<td><input type="text" name=theme></td>
</tr>
<tr>
<td>Письмо:</td>
<td><textarea cols="25" rows="5" name=body></textarea></td>
</tr>
<tr>
<td> </td>
<td> <input type="submit" value="Отправить"></td>
</tr>
</table>
</form>
</body>
</html>
----------------------------------------------------------------------------------------------------------------------
//Это другой файл, с расширением *.php и под название file.php
<html>
<head>
<title>Отправка письма</title>
</head>
<body>
<?php
//Создание переменных
$name=$HTTP_POST_VARS['name'];
$email=$HTTP_POST_VARS['e-mail'];
$theme=$HTTP_POST_VARS['theme'];
$body=$HTTP_POST_VARS['body'];
//Проверка правильности адреса
if (!eregi('^[a-zA-Z0-9_\-\.]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$', $email))
{
echo 'Недопустимый адрес эллектронной почты. Пожалуйста, '
.'вернитесь на предыдущую страницу и попытайтесь еще раз.';
exit;
}
//Адрес получателя
$toaddress = 'mail@mail.ru';
//Тема письма
$subject = 'Тема письма';
//Контент письма
$mailcontent = 'Ваше имя: ' .$name. "\n"
.'Ваш адрес: ' .$email. "\n"
.'Ваша тема: ' .$theme. "\n"
."Письмо: \n" .$body."\n";
//Это адрес который отображается, когда письмо полученно, (между '' можно писать что угодно :))
$fromaddress = 'From: www.site.ru';
mail( $toaddress, $subject, $mailcontent, $fromaddress);
?>
//Отображение письма
<p>Ваше письмо отправлено<br></p>
<?php echo($mailcontent); ?>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: ADmexture
(11.07.2005 в 19:28)
| | После нажатия на кнопку Отправить почему-то выводится на экран листинг файла file.php??? В чем ошибка? | |
|
|
|
|
|
|
|
для: Den_Art.
(11.07.2005 в 20:48)
| | В том, что вы, наверное, открываете файл с формой двойным кликом, поскольку виртуального сервера у вас нет. Так? Если да, то либо верьте на слово, что скрипт работает, либо ставьте Апач (или Денвер). | |
|
|
|
|
|
|
|
для: Киналь
(11.07.2005 в 22:25)
| | Ну вообщето скрипт работает, а Апач (и все такое), конечно лучше поставить!
Косяк: где написанно //Отображения письма , лучше загнать в <?php ?>, или совсем убрать. | |
|
|
|
|
|
|
|
для: ADmexture
(12.07.2005 в 08:10)
| | Спасибо всем. Если говорите работает - значит так оно и есть. Буду проверять уже на серваке... Еще раз спасибо за участие! | |
|
|
|
|
|
|
|
для: ADmexture
(12.07.2005 в 08:10)
| | Это опять я. Сегодня проверил на сервере - не работает. Нажимаю отправить, открывается пустая страничка .php и все! Посмотрите пожалуйста, может где ошибка. Спасибо. | |
|
|
|
|
|
|
|
для: Den_Art.
(14.07.2005 в 23:44)
| | a ti postav kavichki v action="file.php"
<form action="file.php" method="post">
doljno zarabotat , esli shto govari | |
|
|
|
|
|
|
|
для: Den_Art.
(14.07.2005 в 23:44)
| | А сервер РНР поддерживает? | |
|
|
|
|
|
|
|
для: ADmexture
(11.07.2005 в 19:28)
| | по поводу файла file.php
Лично я взял себе за правило любой файл с пхпэшным скриптом начинать с
<?php
?>
<html><head></head><body>
Два вагона тра-ля-ля на html и или ПХП
</body></html>
И заканчивать с
<?php
?>
Хотя это просто привычка - но иногда полезно | |
|
|
|