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



 

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Помогите сделать почтовую форму, SOS
Гость_0_*
Гость_0_*
Topic Starter сообщение 28.6.2008, 19:28; Ответить: Гость_0_*
Сообщение #1





Guest


    


Мне срочно нужно создать почтовую форму...т.к. щас делаю сайт знакомым..информацию я в ней поменяю но .. сама форма должна быть точно такой же.... вот образец.......я такую долго искал....но не могу сделать как там diplom.php....срочно!!помогите плз ....буду очень признателен
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Xan_mw
Xan_mw
сообщение 28.6.2008, 20:11; Ответить: Xan_mw
Сообщение #2


КрИвЕдКо о_0
****

Группа: User
Сообщений: 385
Регистрация: 25.2.2008
Из: from Demiart.ru
Поблагодарили: 0 раз
Репутация:   2  


doctor почитайте в учебниках пхп про формы ввода и отправку POST. Там должно рассказываться как работать с формами.. Точно сказать ничего не могу, так как с пхп не общаюсь :)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Vialls_mw
Vialls_mw
сообщение 28.6.2008, 21:38; Ответить: Vialls_mw
Сообщение #3


Главный модер
*****

Группа: User
Сообщений: 581
Регистрация: 10.3.2008
Из: Оренбург
Поблагодарили: 0 раз
Репутация:   1  


Тут писать очень много, функции для проверки коректности данных и т.п.. А вообще скрипт не сложно написать, изучив основные моменты PHP (но минимум денек потребуется, если вы ноль).
Если хотите сделаю за 5-10 баксов, стучите в асю...

Называйте темы своими именами!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 29.6.2008, 0:11; Ответить: ZiTosS
Сообщение #4


Ваша совесть
*******

Группа: User
Сообщений: 5148
Регистрация: 18.2.2008
Из: Нижний Новгород
Поблагодарили: 0 раз
Репутация:   8  


Ну примерно так ))) Это без проверок
[php]<?php
if(isset($_POST['submit']))
{
$to = "someone@mail.ru"; //Ваш ящик
$subject = "Отчет с сайта";
$subject = convert_cyr_string($theme, 'w', 'k');
$message = "<html>
<head></head>
<body>
Поле 1 {$_POST['имя переменной']}
...................
Поле N {$_POST['имя переменной']}
</body>
</html>";
$message = convert_cyr_string($message, 'w', 'k');
$headers = "Content-Type: text/html; charset=KOI8-R\r\n";
if(mail($to, $subject, $message, $headers))
{
echo "Письмо успешно отправлено";
}
else
{
echo "Произошла ошибка - письмо не отправлено";
}
exit();
}
?>
<html>
<head>
</head>
<body>
<form method="POST" action="">
Поле 1 : <input type="тип" name="Имя PHP переменной в массиве POST">
..............
Поле N : <input type="тип" name="Имя PHP переменной в массиве POST">

<input type="submit" name="submit" value="Отправить заказ">
</form>
</body>
</html>[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nifty5
nifty5
сообщение 13.8.2009, 23:10; Ответить: nifty5
Сообщение #5


Частый гость
**


Группа: User
Сообщений: 81
Регистрация: 3.8.2012
Поблагодарили: 2 раза
Репутация:   -1  


[quote]
Ну примерно так ))) Это без проверок

А я вот проверку никак, какраз, сделать не могу


Хочу попросить помочь разобраться тоже (если время есть)

У меня простая почтовая форма на PHP хочу сделать проверку обязательного поля "сообщение" и "e-mail"
Поле с E-mail желательно с проверкой правильности адреса (ну это в идеале хотелось бы, можно и без этого).

На данный момент всё работает так:
там несколько пустых полей, чтобы не спамили, их не видно, но если их заполняет программа, то форма не отправляется и ещё там по умолчанию введены подсказки прямо в поля (при клике текст пропадает) в остальном самая простая форма. При отправке отправляет, также, на другую страницу thanx.htm в любом случае (независимо от того заполнена или нет)

Я хотел бы чтобы было 2 поля для "Сообщения" и "Адреса почты" обязательными с проверкой и чтобы, если они не заполнены, то открывалась одна страница с ошибкой (error.htm), а если они заполнены, то другая (эта thanx.htm как сейчас)

закачал 3 файла - html, php и css, которые используются. Вот они:

sendspace.com/file/az6gpa (прикрепил архив к записи сюда тожеПрикрепленный файл  php_form.zip ( 2,14 килобайт ) Кол-во скачиваний: 148
)

Можете в них исправить что нужно?

Я сам пробывал много раз - кучу скриптов перерыл уже и так и эдак - не получается у меня. Я вообще не понимаю в этом PHP...

Был бы благодарен за помощь.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 14.8.2009, 1:23; Ответить: ZiTosS
Сообщение #6


Ваша совесть
*******

Группа: User
Сообщений: 5148
Регистрация: 18.2.2008
Из: Нижний Новгород
Поблагодарили: 0 раз
Репутация:   8  


nifty5,
Скажите что в вашем понимании "проверка правильности адреса"? Это его существование(этого проверить я не смогу) или же просто соответствие шаблону, то что это точно email-адрес?

Вообще вот вам скрипт тогда:
Файл form.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Отправка почты</title>
<link rel="stylesheet" href="contact.css">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<body>
<form action="form.php" method="POST">

<input type=hidden name="recipient" value="admin@site.ru">
<input type=hidden name="subject" value="сообщение с сайта">

<table width="300" height="280" border="0" cellpadding="2" cellspacing="1">
<tr valign="top">
<td>
Тема сообщения
</td>
<td>
<input type="text" name="subject" value="" size="58" />
</td>
</tr>
<tr valign="top">
<td>
Email-адрес получателя
</td>
<td>
<input type="text" name="mail" value="" size="58" />
</td>
</tr>
</tr>
<tr valign="top">
<td>
Сообщение
</td>
<td>
<textarea name="text"></textarea>
</td>
</tr>
<tr>
<td>
<input type="reset" name="reset" class="clear" value="ОЧИСТИТЬ">
</td>
<td>
<input type="submit" name="submit" class="send" value="ОТПРАВИТЬ">
</td>
</tr>
</table>
</form>
</body>
</html>


Файл form.php
[php]<meta http-equiv=Content-Type content="text/html; charset=windows-1251">

<?php

if($_POST['text'] == "" || $_POST['mail'] == "")
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";

if(!ereg("^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{2,5}$", $_POST['mail']))
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";


$body = "
С сайта http://www.site.ru/, поступило следующее сообщение:

__________________________________________________________________________
Текст сообщения:
".$_POST['text']."
";


$mailto = addslashes($_POST['mail']);
$subject = addslashes($_POST['subject']);

$body = convert_cyr_string(stripslashes($body),w,k);
$subject = convert_cyr_string(stripslashes($subject),w,k);

if(!mail($mailto, $subject, $body, "From: ".$_POST['mylo']))
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
else
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=thanks.html'>";
?>[/php]

Файл error.html
<html>
<head>
</head>
<body>
<h1>Сообщение не было отправлено.</h1><br>
Попробуйте отправить сообщение <a href="form.html">ещё раз</a>
</body>
</html>


Файл thanks.html
<html>
<head>
</head>
<body>
<h1>Сообщение ОТПРАВЛЕНО</h1>
</body>
</html>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nifty5
nifty5
сообщение 14.8.2009, 2:46; Ответить: nifty5
Сообщение #7


Частый гость
**


Группа: User
Сообщений: 81
Регистрация: 3.8.2012
Поблагодарили: 2 раза
Репутация:   -1  


[quote]

Спасибо. Я имею ввиду, конечно, проверку написания просто e-mail

К сожалению, не работает форма...

Вы пишите в HTML файле 3 поля: Тема сообщения (subject), e-mail адрес получателя (mail), сообщение (text)

1) У меня форма отправки сообщения с сайта на мой адрес, то есть e-mail не получателя нужно вводить, а отправителя
2) У меня 6 полей в форме для заполнения настоящих, которых видно и можно заполнять + ещё 3 поля фальшивых - наживка для антиспама (роботы спамеров их видят, а люди нет, в итоге роботы их заполняют тоже, а люди нет, соответственно, если робот заполнил ложные поля, то почта не отправыляется, а люди о них даже и не знают). С этим антиспамом всё уже работает и сейчас как надо. Осталось только проверку сделать

настоящие поля:

agency (тема обращения)
person (Имя)
mylo (адрес почты отправителя)
sayt (сайт отправителя)
opros (вопрос как попали на сайт)
bazar (текст сообщения)

фальшивые:

username (для роботов)
password (для роботов)
account (для роботов)

Мне нужно
1)чтобы поле "bazar" (текст сообщения) и "mylo" (адрес почты отправителя) были обязательными для заполнения, иначе перенаправление на страницу ошибки.
2)Чтобы проверялось написание e-mail (как вы сделали)
3) чтобы если заполнены фальшивые поля "username" , "password" , "account" то также было перенаправление на ошибку (это уже у меня работает нормально сейчас) Как я говорил, это для программ спамерских (люди этих полей не видят в форме)
4) чтобы если всё ок, то перенаправление на страницу Спасибо (как сейчас)


Я попробывал поменять просто свои поля (потому что Вы их изменили и сделали 3 вместо 5) - думал что просто поменяю и всё ок будет, но не работает. ФОрма отправляется в любом случае, даже если поля не заполнены


Пожалуйста подправьте файлы именно с моими полями (мне всё равно нужна защита от спама и эти 5 полей)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
НЕПЛОХОЙ
НЕПЛОХОЙ
сообщение 14.8.2009, 3:54; Ответить: НЕПЛОХОЙ
Сообщение #8


Завсегдатай
*****

Группа: User
Сообщений: 529
Регистрация: 2.11.2009
Поблагодарили: 4 раза
Репутация:   1  


Пожалуйста подправьте файлы именно с моими полями (мне всё равно нужна защита от спама и эти 5 полей)

вам сюда http://www.masterwebs.ru/forum/20-rabota-dlja-vebmastera/
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 14.8.2009, 13:40; Ответить: ZiTosS
Сообщение #9


Ваша совесть
*******

Группа: User
Сообщений: 5148
Регистрация: 18.2.2008
Из: Нижний Новгород
Поблагодарили: 0 раз
Репутация:   8  


Евгений, да ладно, делов на 5 минут. Попробуем-с помочь ;)

nifty5, тогда покажу как исправить файл form.php
[php]<meta http-equiv=Content-Type content="text/html; charset=windows-1251">

<?php

if($_POST['username'] || $_POST['password'] || $_POST['account'])
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
exit();
}

if($_POST['bazar'] == "" || $_POST['mylo'] == "")
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
exit();
}

if(!ereg("^[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.]*[.]{1}[A-Za-z]{2,5}$", $_POST['mylo']))
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
exit();
}



$body = "
С сайта http://www.site.ru/, поступило следующее сообщение:

Цель Обращения: ".$_POST['agency']."
Контактное лицо: ".$_POST['person']."
E-mail: ".$_POST['mylo']."
URL: ".$_POST['sayt']."
Как вообще дела: ".$_POST['opros']."
__________________________________________________________________________
Текст сообщения:
".$_POST['bazar']."
";


$mailto = $_POST['recipient'];
$subject = $_POST['subject'];
$body = convert_cyr_string (stripslashes($body),w,k);
$subject = convert_cyr_string (stripslashes($subject),w,k);

if(!mail($mailto, $subject, $body, "From: ".$_POST['mylo']))
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=error.html'>";
else
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=thanks.html'>";
?>[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
nifty5
nifty5
сообщение 14.8.2009, 15:06; Ответить: nifty5
Сообщение #10


Частый гость
**


Группа: User
Сообщений: 81
Регистрация: 3.8.2012
Поблагодарили: 2 раза
Репутация:   -1  


(ZiTosS @ 14.8.2009, 13:40) *
nifty5, тогда покажу как исправить файл form.php



Спасибо.
С e-mail всё работает вроде, а вот с текстом сообщения - в любом случае всё отправляется сейчас. Наверное, это потому, что у меня сейчас в этих полях написан текст (описание полей), который исчезает при клике по полю (см. файл css) То есть, я так понимаю, что если ничего не писать в поле, то оно всё равно не считается пустым, так как его описание воспринимается как заполненный текст. так?

а можно как-то это поправить. например ввести этот текст подсказки и написать, что если текст в поле именно такой (то есть ничего нового не вводилось в форму), то воспринимать как пустое?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыНужно сделать сайт
1 SUROK 164 28.10.2020, 16:28
автор: WoWeb
Открытая тема (нет новых ответов) Помогите советом как пробить ЯШУ для сайта Giffs.ru ?!
Что нужно докрутить у сайта, что бы ЯША не устоял ?
10 sinoptik89 482 20.10.2020, 22:24
автор: VinogradOFF
Открытая тема (нет новых ответов) Хотим сделать новый сайт. Каким путем продвижения лучше пойти ?
21 dilex 2387 14.10.2020, 17:56
автор: Wachowski
Открытая тема (нет новых ответов) Хочу сделать свою соц. сеть .
Сколько денег нужно вложить во все это. И с чего начать.
19 Елена1980 1566 28.9.2020, 23:50
автор: Rybakin
Открытая тема (нет новых ответов) Помогите с сайтом
10 Роман_01 14049 3.9.2020, 12:15
автор: Sosedus


 



RSS Текстовая версия Сейчас: 30.10.2020, 17:42
Дизайн