Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1

Обратная связь

21.11.2011, 17:05. Показов 2816. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
$xxx =$_POST["xxx"];
$name=$_POST["name"];
$srok=$_POST["srok"];
$email=$_POST["email"];
$mobile=$_POST["mobile"];  
$kosari=$_POST["kosari"];  
$mess=$_POST["mess"];  
 
if (isset ($name))
{
$name = substr($name,0,20); //Не может быть более 20 символов
if (empty($name))
{
echo "<center><b>Не указано имя.<p>";
echo "<a href=voprosi-i-otveti.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else 
{
$name = "не указано";
}
 
if (isset ($email))
{
$email = substr($email,0,20); //Не может быть более 20 символов
if (empty($email))
{
echo "<center><b>Не указан e-mail.<p>";
echo "<a href=voprosi-i-otveti.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else 
{
$email = "не указано";
}
if (isset ($mess))
{
$mess = substr($mess,0,1000); //Не может быть более 1000 символов
if (empty($mess))
{
echo "<center><b>Нет текста вопроса.<p>";
echo "<a href=voprosi-i-otveti.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
}
else 
{
$mess = "не указано";
}
$i = "не указано";
if ($name == $i AND $email == $i AND $mess == $i)
{
echo "Ошибка ! Скрипту не были переданы параметры !";
exit;
}
$to = "babobka@bk.ru";  /*МЕНЯЕШЬ НА СВОЙ АДРЕСС!*/
$subject = "вопрос от посетителя сайта";
$message = "Имя:$name,Электронный адрес:$email,Мобильный: $mobile, На срок в:$srok дней, У которого: $kosari косарей, Сообщение:$mess:::::::::IP-адрес:$REMOTE_ADDR";
mail ($to,$subject,$message) or print "Не могу отправить письмо.";
echo "<center><b>Спасибо за отправку вашего сообщения<br><a href=index.htm>Нажмите</a>, чтобы вернуться на Главную страницу сайта";
exit;
?>
Как сделать так, чтобы при ошибке не выводилось сообщение с ссылкой, по которой нужно кликнуть, а сразу редирект на какую-то сраницу?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.11.2011, 17:05
Ответы с готовыми решениями:

Обратная связь
Добрый день!Возможно не в тему, но мне как человеку вообще не знакомому с php, кажется, что раздел как раз для меня. Если есть такие,...

Обратная связь
Вот код HTML страницы с формой обратной связи: &lt;title&gt;Обратная связь&lt;/title&gt; &lt;center&gt; &lt;font size=5 style=&quot;font-family:...

Обратная связь
Здравствуйте! подскажите пожалуйста куда на сайт кидать готовый PHP файл обратной связи?

15
26 / 23 / 9
Регистрация: 12.08.2011
Сообщений: 576
21.11.2011, 17:45
сделай так
PHP
1
2
3
4
5
6
7
8
if (isset ($name))
{
$name = substr($name,0,20); //Не может быть более 20 символов
if (empty($name))
{
header("Location: voprosi-i-otveti.php");//т.е перенаправляеш на страницу
exit;
}
2
 Аватар для igor3310
3 / 3 / 4
Регистрация: 16.02.2011
Сообщений: 270
23.11.2011, 14:48
А как для поля емайла сделать проверку на сушествование знака @ (собака)?
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
23.11.2011, 15:19
Цитата Сообщение от igor3310 Посмотреть сообщение
А как для поля емайла сделать проверку на сушествование знака @ (собака)?
с помощью рег выражений. их полно, один из вариантов
PHP
1
2
3
4
5
6
<?php
 
$email = $_POST['email'];
 
if (!empty($email) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email)) 
    exit('поле "e-mail" должно соответствовать формату somebody@somewhere.ru');
1
 Аватар для igor3310
3 / 3 / 4
Регистрация: 16.02.2011
Сообщений: 270
23.11.2011, 21:27
Спасибо работает!

Добавлено через 5 часов 49 минут
А что может быть - перестало отсылать письма но возврашает true ?
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
23.11.2011, 22:32
Цитата Сообщение от igor3310 Посмотреть сообщение
А что может быть - перестало отсылать письма но возврашает true ?
может ут я нет поля под названием email? Если такого поля нет, вставь сюда имя своего поля
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
$_POST['email'];
0
 Аватар для igor3310
3 / 3 / 4
Регистрация: 16.02.2011
Сообщений: 270
23.11.2011, 22:37
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
может ут я нет поля под названием email? Если такого поля нет, вставь сюда имя своего поля
да не работало - потом перестало а теперь на 1 мэйл отсылает а надо на 2 -такая конструкция:

PHP
1
2
$to= "Игорь <budin.i@yandex.ru>" . ", " ;
$to .= "Копия <$copi>";

где переменная $copi это 2 адрес рассылки(т.е. если человек хочет получить копию )
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
23.11.2011, 23:20
а.., попробуй ка вместо preg_match поставить preg_match_all
0
 Аватар для igor3310
3 / 3 / 4
Регистрация: 16.02.2011
Сообщений: 270
23.11.2011, 23:34
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
а.., попробуй ка вместо preg_match поставить preg_match_all
у меня такого нету у меня функция mail
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.11.2011, 01:11
Цитата Сообщение от igor3310 Посмотреть сообщение
у меня такого нету у меня функция mail
не туда,
во сюда
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
if (!empty($email) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email))
exit('поле "e-mail" должно соответствовать формату somebody@somewhere.ru');
PHP
1
2
if (!empty($email) and !preg_match_all( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email)) 
    exit('поле "e-mail" должно соответствовать формату somebody@somewhere.ru');
ну это и не должно влиять на отсылку почты нескольким адресатам. это просто шаблон, который проверяет на соответствие.

Как я понимаю ты в одном поле пишешь адресаты и отправляешь почту,
Может, сделать так:
записываешь их все через запятую, и через explode(); превращаешь в массив и foreach'ем отправляешь, примерно так
PHP
1
2
3
4
5
6
$email_contacts = explode(",", $_POST['имя_поля_для_записи_адресатов']);
 
foreach ($email_contacts as $contacts)
{
    // и тут ф-я mail
}
0
 Аватар для igor3310
3 / 3 / 4
Регистрация: 16.02.2011
Сообщений: 270
24.11.2011, 11:13
Цитата Сообщение от Love_and_Peace Посмотреть сообщение
не туда,
во сюда

PHP
1
2
if (!empty($email) and !preg_match_all( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email)) 
    exit('поле "e-mail" должно соответствовать формату somebody@somewhere.ru');
ну это и не должно влиять на отсылку почты нескольким адресатам. это просто шаблон, который проверяет на соответствие.

Как я понимаю ты в одном поле пишешь адресаты и отправляешь почту,
Может, сделать так:
записываешь их все через запятую, и через explode(); превращаешь в массив и foreach'ем отправляешь, примерно так
PHP
1
2
3
4
5
6
$email_contacts = explode(",", $_POST['имя_поля_для_записи_адресатов']);
 
foreach ($email_contacts as $contacts)
{
    // и тут ф-я mail
}
а можно подробнее что вместо "// и тут ф-я mail" писать?


а может хостер ограничивать?
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.11.2011, 12:13
Цитата Сообщение от igor3310 Посмотреть сообщение
а можно подробнее что вместо "// и тут ф-я mail" писать?
ну просто вставь туда свою ф-ю отправления почты, только имей ввиду, что теперь в ф-ю mail надо ставлять переменную $contacts.
регулярными выражениями проверяй уже email_contacts , не $email

В общем проследи за названиями перемнных, чтобы они везде совпадали.
Цитата Сообщение от igor3310 Посмотреть сообщение
а может хостер ограничивать?
Врядли он поставит такое ограничение, ну если конечно хочтер не сосвем кака
0
 Аватар для igor3310
3 / 3 / 4
Регистрация: 16.02.2011
Сообщений: 270
24.11.2011, 14:26
непашет - в логе ошибки сразу на 4-5 линиях

Добавлено через 30 минут
может в цикл его?
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.11.2011, 15:00
млин, не может быть, покажи скрипт что ли
1
 Аватар для igor3310
3 / 3 / 4
Регистрация: 16.02.2011
Сообщений: 270
24.11.2011, 17:02
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
 <!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Обратная связь</title>
<style  type="text/css">
textarea:focus, input:focus {border:2px solid #588e03;
background-color:#fff;}
html{background-image:url(i.jpg);
text-align:center;}
.ff{ width:550px;  height:150px; margin:0px auto; border:2px solid #588e03;
background-color:#fff;}
body{width:550px;  height:120px; margin:0px auto; border:2px solid #588e03;
background-color:#fff; padding-top:15px;}
</style>
</head>
 
<body>
 
</body>
</html>
<?php
 
$name=$_POST['name'];
$lastname=$_POST['lastname'];
$do=$_POST['dol'];
$dol="<span style='color:#05135c;'>$do </span>";
$ips=$_SERVER['REMOTE_ADDR'];
$copi=$_POST['copi'];
$ip="<br><b style='color:#588e03;'>IP отправителя: </b><b style='color:#05135c;'>$ips </b><br>";
$nam="<b style='color:#588e03;'>Отправитель: </b><b style='color:#05135c;'>$name</b>"; 
/* получатели */
if($copi==on){$copi=$lastname;}
 
$to= "Игорь <budin.i@yandex.ru>" . ", " ;
$to .= "Копия <$copi>";
 
/* тема/subject */
$subject = "Сообшение с сайта SITE.RU";
 
/* сообщение */
$message =$nam.'
<html>
<head>
 <title>Сообшение с сайта SITE.RU</title>
</head>
<body>
<p><img src="http://nitka.biz/templates/gk_twn/images/logo.png" /></p>
<table>
 <tr style="display:block; width:400px; background-color:#ffcc00;">
<th style="color:#588e03; background-color:#ffcc00;">Текст сообшения:<br></th>
 </tr>
 
 
</table>
</body>
</html>
'.$dol.$ip;
 
/* Для отправки HTML-почты вы можете установить шапку Content-type. */
$headers= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
 
/* дополнительные шапки */
$headers .= "From: $name <$lastname>\r\n";
 
 
/* и теперь отправим из */
 
if (empty($name))
{
 
echo "<b style='color:#f00;'><center><b>ОШИБКА!<br>Неуказано Ваше имя!<p><br>";
echo "<a href=form.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
 
if (empty($lastname))
{
echo "<b style='color:#f00;'><center><b>ОШИБКА!<br>Не указан e-mail.<p></b>";
echo "<a href=form.php>Вернуться и правильно заполнить форму.</a>";
exit;
}
if (!empty($lastname) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $lastname)) 
        exit('<b style="color:#f00;"><center>ОШИБКА!<br> Пожалуйста правильно заполните поле "e-mail"</b><br><a href=form.php>Вернуться и правильно заполнить форму.</a>');
        
if (empty($dol))
{
echo "<b style='color:#f00;'><center><b>ОШИБКА!<br>Вы неввели текст сообшения!<p><br>";
echo "<a href=form.php>Вернуться и правильно заполнить форму.</a>";
exit;
}       
        
$mm=mail($to, $subject, $message, $headers);
 
 
 
 if($mm=='true'){echo "<b style='color:#588e03;'><center>Спасибо!<br>Сообшение отправленно!</b>";}else{"<b style='color:#f00;'><center>Сообшение не отправленно!</b>";} 
 
 ?>
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
24.11.2011, 17:27
из скрипта не понятно, какая переменная к чему относится.
В какой переменной находятся адреса? в $lastname? тогда не понятно почему здесь написано
Цитата Сообщение от igor3310 Посмотреть сообщение
$headers .= "From: $name <$lastname>\r\n";
т.е., адрес отправителя.

а так, я предлагал взять в цикл вот этот момент
Цитата Сообщение от igor3310 Посмотреть сообщение
$mm=mail($to, $subject, $message, $headers);
В пооле $_POST['lastname'] прописываешь адреса через запятую
PHP
1
2
3
4
5
6
$to = explode(",", $lastname);
 
foreach ($to as $contacts)
{
    $mm=mail($to, $subject, $message, $headers);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.11.2011, 17:27
Помогаю со студенческими работами здесь

Обратная связь
Есть уже готовый HTML и CSS файлы, надо подключить форму обратной связи. Какой код для PHP файла и как его подключить.

Обратная связь
Добрый вечер, не приходят сообщения на почту в написанной обратной связь, код прилагаю: &lt;form method=&quot;POST&quot;...

Обратная связь
Как изменить вот эти поля(см.вложение) в обратной связи

Обратная связь
Здравствуйте, я абсолютно ничего не понимаю в php, знаю лишь основы html и css. Пробую сделать на своей страничке форму обратной связи,...

Обратная связь
Здравствуйте, друзья! Столкнулся с вот такой проблемой, хочу по обратной связи отправлять готовый div элемент или же table. Можно ли это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru