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



 

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

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

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


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


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


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

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


Ну примерно так ))) Это без проверок
[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


[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 килобайт ) Кол-во скачиваний: 152
)

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

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

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


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


[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


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

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


Евгений, да ладно, делов на 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


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



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

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужно сделать репост статей в соц сети
1 HavingingWorld 2393 27.2.2024, 2:15
автор: AndrePro
Открытая тема (нет новых ответов) Помогите вспомнить рекламного бота Телеграм для обмена рекламой
0 Mixatraider 692 21.2.2024, 23:42
автор: Mixatraider
Открытая тема (нет новых ответов) Сделать дорвей
0 tok24ua 901 28.8.2023, 20:59
автор: tok24ua
Открытая тема (нет новых ответов) Сделать правки на html-странице
5 TABAK 2261 20.5.2023, 10:45
автор: EvilGomel
Открытая тема (нет новых ответов) Сколько стоит сделать шаблон для WP?
изучаю цены
3 Palundra 2379 2.4.2022, 3:06
автор: WebSuccessful


 



RSS Текстовая версия Сейчас: 28.3.2024, 19:41
Дизайн