X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Отправка почты с сайта
depositX7
depositX7
Topic Starter сообщение 4.7.2012, 16:52; Ответить: depositX7
Сообщение #1


Помогите подредактировать скрипт. Нужно убрать контрольный вопрос (два + два =) и проверку на корректность ввода E-mail. Никак чего то не получается.

<script language="javascript">
<!--
function sendform() {
if (document.forms[0].name.value == "") {
alert('Пожалуйста, введите Ваше имя');
document.forms[0].name.focus();
return false
}
if (document.forms[0].mail.value == "") {
alert('Пожалуйста, введите электронный адрес');
document.forms[0].mail.focus();
return false
}
if (!(/^[w.-]+@[w.-]+.w+$/i).test(document.forms[0].mail.value)) {
alert('Введите реальный электронный адрес!');
return false;
}
if (document.forms[0].message.value == "") {
alert('Пожалуйста, введите текст сообщения');
document.forms[0].message.focus();
return false
}
if (document.forms[0].q.value != 4) {
alert('Неверный ответ на контрольный вопрос!');
document.forms[0].q.focus();
return false
}
return true;
}
//-->
</script>
</head>
<body>
<?php
$FormAction = $_SERVER['PHP_SELF'];
if (isset($_POST['post']) || ($_POST['post'] == 'send')) {
if (!isset($_POST['q']) or ($_POST['q'] != 4)) {
echo "<script type="text/javascript">alert("Неверный ответ на контрольный вопрос!")</script>";
}
else {
$name = htmlspecialchars(trim($_POST['name']));
$mail = htmlspecialchars(trim($_POST['mail']));
$message = htmlspecialchars(trim($_POST['message']));
$box = " "; //email администратора, например: $box = "pupkin@vasy.ru"
$subject = "Вопрос с сайта";
$headers = "Content-type: text/plain; charset=UTF-8 rn"; // кодировка письма, например: charset=UTF-8
$headers .= "From: $name <$mail>rn";
$ret = 0;
$ret = mail ($box, $subject, $message, $headers);
if ($ret == 'true') {
echo "<script type="text/javascript">alert("Спасибо, ваше сообщение отправлено.")</script>";
}
else {
echo "<script type="text/javascript">alert("Извините, отправка не удалась. Попробуйте ещё раз.")</script>";
}
}
}
?>
<form onsubmit="return sendform();" action="<?php echo $FormAction; ?>" id="message" name="message" method="post">
<table width="300" cellspacing="5" style="border:solid 1px #999; margin:auto; background-color: #F6F6F6">
<tr>
<td align="center">Ваше имя
<input type="text" name="name" id="name" /></td>
</tr>
<tr>
<td align="center">Ваш email
<input type="text" name="mail" id="mail" /></td>
</tr>
<tr>
<td align="center"><textarea name="message" id="message" cols="30" rows="5"></textarea></td>
</tr>
<tr>
<td align="center">два + два =
<input name="q" type="text" id="q" size="3" /></td>
</tr>
<tr>
<td align="center"><input type="submit" name="button" id="button" value="Отправить письмо" />
<input name="post" type="hidden" id="post" value="send" /></td>
</tr>
</table>
</form>


зы как-то так :)

Сообщение отредактировал surfer - 4.7.2012, 19:59
Причина редактирования: код надо оформлять соответствующе!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 4.7.2012, 20:22; Ответить: sc2r2bey
Сообщение #2


навскидку на колене так сказать, там есть ряд ошибок, получилось, хотя непонятно зачем убирать валидность электронки и каптчу, я бы по-другому сделал бы :)

<script language="javascript">
<!--
function sendform() {
if (document.forms[0].name.value == "") {
alert('Пожалуйста, введите Ваше имя');
document.forms[0].name.focus();
return false
}
if (document.forms[0].mail.value == "") {
alert('Пожалуйста, введите электронный адрес');
document.forms[0].mail.focus();
return false
}
if (document.forms[0].message.value == "") {
alert('Пожалуйста, введите текст сообщения');
document.forms[0].message.focus();
return false
}
return true;
}
//-->
</script>
</head>
<body>
<?php
$FormAction = $_SERVER['PHP_SELF'];
$name = htmlspecialchars(trim($_POST['name']));
$mail = htmlspecialchars(trim($_POST['mail']));
$message = htmlspecialchars(trim($_POST['message']));
$box = "pupkin@vasy.ru"; //email администратора, например: $box = "pupkin@vasy.ru"
$subject = "Вопрос с сайта";
$headers = "Content-type: text/plain; charset=UTF-8 rn"; // кодировка письма, например: charset=UTF-8
$headers .= "From: $name <$mail>rn";
if (mail ($box, $subject, $message, $headers)){
echo "<script type="text/javascript">alert("Спасибо, ваше сообщение отправлено.")</script>";
}
else {
echo "<script type="text/javascript">alert("Извините, отправка не удалась. Попробуйте ещё раз.")</script>";
}
?>
<form onsubmit="return sendform();" action="<?php echo $FormAction; ?>" id="message" name="message" method="post">
<table width="300" cellspacing="5" style="border:solid 1px #999; margin:auto; background-color: #F6F6F6">
<tr>
<td align="center">Ваше имя
<input type="text" name="name" id="name" /></td>
</tr>
<tr>
<td align="center">Ваш email
<input type="text" name="mail" id="mail" /></td>
</tr>
<tr>
<td align="center"><textarea name="message" id="message" cols="30" rows="5"></textarea></td>
</tr>
<tr>
<td align="center"><input type="submit" name="button" id="button" value="Отправить письмо" />
<input name="post" type="hidden" id="post" value="send" /></td>
</tr>
</table>
</form>


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
depositX7
depositX7
Topic Starter сообщение 5.7.2012, 0:02; Ответить: depositX7
Сообщение #3


Спасибо.
хотя непонятно зачем убирать валидность электронки и каптчу, я бы по-другому сделал бы

Просто предполагается на выбор оставить телефон или мыло. А капча по Вашему действительно необходима?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 5.7.2012, 0:10; Ответить: sc2r2bey
Сообщение #4


если хотите, чтоб вам спам слали пачками, то нет


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
depositX7
depositX7
Topic Starter сообщение 5.7.2012, 21:03; Ответить: depositX7
Сообщение #5


Сообщение отправляет, но при заходе на страницу, со скриптом, сразу выдает сообщение "Спасибо ваше сообщение отправлено". Что подправить?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
jromka
jromka
сообщение 15.8.2012, 18:35; Ответить: jromka
Сообщение #6


условие где - то подправить нужно )
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Внучара
Внучара
сообщение 15.8.2012, 20:59; Ответить: Внучара
Сообщение #7


Сообщение отправляет, но при заходе на страницу, со скриптом, сразу выдает сообщение "Спасибо ваше сообщение отправлено". Что подправить?


<?php
if(isset($_POST['post']))
{

/* код */

}

?>

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыБыстрая индексация страниц сайта и обратных ссылок - 2Index
38 2Index 6613 Вчера, 12:56
автор: 2Index
Открытая тема (нет новых ответов) Какой % отказов нормален для сайта?
11 Aloof 2806 16.4.2024, 12:48
автор: diviner99
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыSiteAnalyzer - бесплатная программа для аудита и анализа сайта
77 Chaser 74209 9.4.2024, 11:36
автор: Chaser
Открытая тема (нет новых ответов) Нужен кодер, чтобы пофиксить ошибку Wordpress после переноса сайта
0 Alex-777 838 7.4.2024, 18:05
автор: Alex-777
Горячая тема (нет новых ответов) Продвижение молодого сайта
30 maxmer 6574 26.3.2024, 21:49
автор: c4p1t4l15t


 



RSS Текстовая версия Сейчас: 19.4.2024, 3:21
Дизайн