веб-мастеру Услуги SEO Статьи Веб-Мастера Доменные имена SEO Tools whois книги веб-мастеру

IPB

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



3 страниц V  1 2 3 >  
Ответить в эту темуОткрыть новую тему
> Отправка сообщений с сайта через форму, Работа с формами и их отправкой
Виктор
сообщение 23.9.2007, 16:56
Сообщение #1


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



Здравствуйте!
Кто может посоветовать хороший код для отправки сообщений с сайта, с проверкой заполненных полей?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sashkovishe
сообщение 23.9.2007, 19:16
Сообщение #2


Администратор форума
****

Группа: Администраторы
Сообщений: 392
Регистрация: 3.12.2006
Из: России
Пользователь №: 4



Цитата(Виктор)
Здравствуйте!Кто может посоветовать хороший код для отправки сообщений с сайта, с проверкой заполненных полей?

Самому написать... smile.gif
Для отправки на email это будет несложно…


--------------------
Изображение
Think differently...
ICQ: 6-135-294
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 23.9.2007, 20:08
Сообщение #3


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



если сам не могу..
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sashkovishe
сообщение 23.9.2007, 22:19
Сообщение #4


Администратор форума
****

Группа: Администраторы
Сообщений: 392
Регистрация: 3.12.2006
Из: России
Пользователь №: 4



Цитата(Виктор)
если сам не могу..

Ну раз так, тогда вот, выкладываю свой скрипт (когда то писал я, для одного сайта) который отправляет сообщение на заданный (к коде) E-mail, с проверкой..
Может вам подойдет:
Прикрепленный файл  vopros.php ( 2.77 килобайт ) Кол-во скачиваний: 255


--------------------
Изображение
Think differently...
ICQ: 6-135-294
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 25.9.2007, 18:24
Сообщение #5


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



у меня есть форма заказа большая, и мне нужно чтобы нажимая на кнопку посетитель переходил на нужную мне страничку, а все заполненные данные отправлялись на указанный в скрипте майл. Ну что-то вроде того!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sashkovishe
сообщение 25.9.2007, 19:39
Сообщение #6


Администратор форума
****

Группа: Администраторы
Сообщений: 392
Регистрация: 3.12.2006
Из: России
Пользователь №: 4



Цитата(Виктор)
и мне нужно чтобы нажимая на кнопку посетитель переходил на нужную мне страничку, а все заполненные данные отправлялись на указанный в скрипте майл. Ну что-то вроде того!

Ну это все делается так примерно:
Код

if (@$go)
{
if (mail($to, $subject, $body)) {
Header(”Location: <нужная страница.php>”);
} else { echo "Ошибка отправки сообщение”; }
}

Где переменные:
$go – имя кнопки формы (name)
$to адрес получателя, $subject – тема сообщения, $body – текст сообщения


--------------------
Изображение
Think differently...
ICQ: 6-135-294
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
gid
сообщение 25.9.2007, 20:22
Сообщение #7


Администратор форума
*****

Группа: Главные администраторы
Сообщений: 760
Регистрация: 27.11.2006
Из: Россия
Пользователь №: 1



Цитата
у меня есть форма заказа большая, и мне нужно чтобы нажимая на кнопку посетитель переходил на нужную мне страничку, а все заполненные данные отправлялись на указанный в скрипте майл. Ну что-то вроде того!


Есть до предела простой скрипт-обработчи данных из форм отправленных через метод POST, писал для одного из своих проектов:
Код
<?php
@header("Content-type: text/html; charset=windows-1251");
@header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");                     // дата в прошлом
@header("Last-Modified: " . gmdate("D, d M Y H:i:s", 10000) . " GMT"); // 1 января 1970
@header("Cache-Control: no-store, no-cache, must-revalidate");         // HTTP/1.1
@header("Cache-Control: post-check=0, pre-check=0", false);            // еще раз, для надежности
@header("Pragma: no-cache");


if (isset($_POST))
{
$tmp = "";
foreach ($_POST as $key => $val)
{
$tmp .= $key . ": " . $val . "\r\n----------\r\n";
}
if (mail("Ваш_ящик@домен.ру", "Тема письма", $tmp)) echo "Ваше сообщение отправленно!";
else echo "Ошибка!!!";
}else echo "Ошибка!!! Не заполнены поля формы!!!";
?>

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


--------------------
В своей работе я использую:
Sape - для купли/продажи ссылок со страниц сайтов Изображение ИзображениеMiralinks и Advego - для купли/продажи рекламных статей
SEOBudget и CS Yazzle - для оценки бюджетаИзображениеИзображениеИзображениеИзображениеSeoPult - для автоматического продвижения (когда ленюсь)
HT-Systems - надежный хостинг, для больших сайтов

Хочу жить на о.Самуи ***** Мониторинг позиций сайтов ***** Создание сайтов и их поисковая оптимизация
Изображение |__| RU-домены за 170 рублей |__| SU-домены за 460 рублей |__|
Пользователь в онлайне!Карточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 27.9.2007, 17:16
Сообщение #8


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



Спасибо вам большое! А как сделать так, чтобы не все поля были обязательными?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 29.9.2007, 23:01
Сообщение #9


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



А например только сообщение и майл, а имя не обязательно (ну это в стандартных формах)

Разве никто не знает? Помогите, очень нужно!
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sashkovishe
сообщение 30.9.2007, 7:11
Сообщение #10


Администратор форума
****

Группа: Администраторы
Сообщений: 392
Регистрация: 3.12.2006
Из: России
Пользователь №: 4



Цитата(Виктор)
А например только сообщение и майл, а имя не обязательно (ну это в стандартных формах)

Если для двух полей, ну можно поставить просто проверку, просто проверять именно эти два поля и все...
Код
if (trim($_POST['email']) == '')
{
    echo "Ошибка! Не заполнено поле email";
}
if (trim($_POST['mass']) == '')
{
    echo "Ошибка! Не заполнено поле сообщение";
}


--------------------
Изображение
Think differently...
ICQ: 6-135-294
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 30.9.2007, 12:52
Сообщение #11


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



Хорошо, а такой скрипт можно использовать, когда нужно допустим 7 из 20 полей сделать обязательными? Просто перечислить как там?
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sashkovishe
сообщение 30.9.2007, 20:04
Сообщение #12


Администратор форума
****

Группа: Администраторы
Сообщений: 392
Регистрация: 3.12.2006
Из: России
Пользователь №: 4



Цитата
Хорошо, а такой скрипт можно использовать, когда нужно допустим 7 из 20 полей сделать обязательными? Просто перечислить как там?

Да, просто перечислить какие поля обязательны к заполнению и все... или можно поступить проще (объединить все обязательные поля в одно условие) , например:
Код
if (trim($_POST['name']) == '' || trim($_POST['email']) == '' || trim($_POST['mess']) == '') < и т.д.... > )
{
    echo "Ошибка! Вы Не заполнили обязательные поля!!! ";
}

p.s. " || " – означает "или"... фун-ия trim удаляет из начала и конца строки пробелы


--------------------
Изображение
Think differently...
ICQ: 6-135-294
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 1.10.2007, 20:41
Сообщение #13


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



Код
// <<< - Stoned Animations online © 2000 - 2001 - >>>


// All you need to change is the e-mail addy:
$email = '';
$subject = '';

//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
    $text .= "$key = $value \n";
}

$from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
mail($email,$subject,$text,"From: $from\nReply-To: $from\n");

?>

<html>

<head>
<title>Отправлено!</title>
</head>

<body bgcolor="#ffffff" text="#000000">

<p align="center"><font size="2" face="Arial"><b>Ваш заказ был успешно отправлен!!! В ближайшее время наши сотрудники свяжутся с вами!!! Спасибо за использование нашего сервиса!</b></font>

</body>

</html>



Вот, у меня есть такой скрипт. Он отсылает все что была заполнено в форме на указанный в нем майл. Но не проверяет заполнены ли поля. sad.gif Я вставил в него тот код который Вы мне дали, но почему-то сообщение не отправляется вообще. huh.gif
Скажите кто может в чем тут проблема.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
sa†ana
сообщение 2.10.2007, 3:46
Сообщение #14


Продвинутый
****

Группа: Супер Модераторы
Сообщений: 211
Регистрация: 11.5.2007
Из: World Wide Web
Пользователь №: 81



Цитата(Виктор @ 1.10.2007, 21:41) *

Я вставил в него тот код который Вы мне дали, но почему-то сообщение не отправляется вообще. huh.gif
Скажите кто может в чем тут проблема.
- ну чтобы ответить нужно посмотреть подправленный код...

Этот код должен работать....
Код
<?
// <<< - Stoned Animations online © 2000 - 2001 - >>>

// All you need to change is the e-mail addy:

//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
    $text .= "$key = $value \n";
}
if (trim($_POST['name']) == '' || trim($_POST['email']) == '' || trim($_POST['mess']) == '') /*< и т.д.... >*/
{
    echo "Ошибка! Вы Не заполнили обязательные поля!!! ";
}
else
{
  $from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
  mail($email,$subject,$text,"From: $from\nReply-To: $from\n");
}
?>
<html>
  <head>
    <title>Отправлено!</title>
  </head>
  <body bgcolor="#ffffff" text="#000000">
    <p align="center"><font size="2" face="Arial"><b>Ваш заказ был успешно отправлен!!! В
    ближайшее  время наши сотрудники свяжутся с вами!!! Спасибо за использование нашего сервиса!  
    </b></font>
  </body>
</html>

Осталось лишь подправить условие


--------------------
Изображение
веб-программирование - недорого. 219-168
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Виктор
сообщение 2.10.2007, 22:27
Сообщение #15


Новичок
**

Группа: Свои
Сообщений: 22
Регистрация: 23.8.2007
Пользователь №: 191



не работает все равно! Нажимаю отправить, потом открывается страница на которой написано ошибка Вы ввели не все поля формы а внизу сообщение что письмо отправлено (но оно не отправилось).
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

3 страниц V  1 2 3 >
Быстрый ответОтветить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 1.8.2010, 14:56
^ ВВЕРХ ^

Посетите наши проекты:
учебник по HTM | проекционный телевизор - canal40.net