Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Subik
170 / 45 / 5
Регистрация: 10.01.2013
Сообщений: 424

Работа над ошибками =) А так же LDAP и mail()

13.11.2013, 04:10. Показов 689. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, вообщем маленько тут по химичил, там по химичил и в итоге, вот, что у меня получилось:
Кликните здесь для просмотра всего текста
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
<?php 
function show_form() {
  $srv = "192.168.3.3";
  $srv_domain = "testdomen.ru";
  $srv_login = "tester@".$srv_domain;
  $srv_password = "1234";
  $dn = "dc=testdomen,dc=ru";
 
$filter="(&(objectCategory=person)(objectClass=user)(cn=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))";
$attr = array("sn", "givenname", "mail");
 
  $dc = ldap_connect($srv);
  ldap_set_option($dc, LDAP_OPT_PROTOCOL_VERSION, 3);
  ldap_set_option($dc, LDAP_OPT_REFERRALS, 0);
 
  if ($dc) {
    ldap_bind($dc,$srv_login,$srv_password);
    $result = ldap_search($dc,$dn,$filter,$attr);
    $result_entries = ldap_get_entries($dc,$result);
    ldap_unbind($dc);
  }
 
?> 
<form action="" method=post> 
<div align="center">
  <br />Кому: <br /> 
  <select name="to">
    <option selected value="">Кому отправить?</option>
    <? for ($i=0;$i<$result_entries['count'];$i++) { ?>
      <option value="<?=$result_entries[$i]['mail'][0]?>">
        <?php echo $result_entries[$i]['sn'][0].' '.$result_entries[$i]['givenname'][0];?>
      </option>
    <? } ?>
  </select>
  <br />Teма<br /> 
  <input type="text" name="title" size="40"> 
  <br />Сообщение*<br /> 
  <textarea rows="10" name="mess" cols="30"></textarea> 
  <br /><input type="submit" value="Отправить" name="submit"> 
</div> 
</form> 
* Помечены поля, которые необходимо заполнить 
<? 
} 
 
function complete_mail() { 
  $_POST['title'] = htmlspecialchars(trim($_POST['title'])); 
  $_POST['mess'] = htmlspecialchars(trim($_POST['mess']));
  $_POST['to'] = htmlspecialchars(trim($_POST['to']));
  
  // если не заполнено поле "Сообщение" - показываем ошибку 1 
  if(empty($_POST['mess'])) 
    output_err(1);
  
  // создаем наше сообщение 
  $mess = $_POST['mess']; 
  // $to - кому отправляем 
  $to = $_POST['to']; 
  // $from - от кого 
  $from = 'test@test.ru'; 
 
  mail($to, $_POST['title'], $mess, "From:".$from); 
  echo 'Спасибо! Ваше письмо отправлено.';
  show_form(); 
} 
 
function output_err($num) 
{ 
    $err[1] = 'ОШИБКА! Не введено сообщение.'; 
    echo '<p>'.$err[$num].'</p>'; 
    show_form(); 
    exit(); 
} 
 
if (!empty($_POST['submit'])) { 
  complete_mail(); 
} else {
  show_form();
} 
?>

Данный код выполняет следующее(по крайней мере должен это выполнять=)) )
Поключаеться к AD, вытаскивает от туда ФИО и Мыло
При помощи фильтров отсортировываем отключенных пользователей.
И делаем возможность выбора одного из этих пользователей в роли получателя письма.
Ну и соответственно пишем ему письмо и отправляем.
Единственное, что хотелось бы узнать, это не могли бы вы проверить код?=)
Указать на какие то ошибки и т.д.
Так сказать, помочь привести код в порядок=)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2013, 04:10
Ответы с готовыми решениями:

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

Работа над ошибками
Добрый день коллеги, недавно писал одну работу(форум) для поступления на должность стажёра в компанию. После их рецензии прислали список...

Работа над ошибками
Что не так с кодом? #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; #include &lt;stdlib.h&gt; int...

3
46 / 48 / 2
Регистрация: 16.08.2013
Сообщений: 257
13.11.2013, 07:03
ЛДАП сервер нам дай для теста с базой? , а что тут дорабатывать, разве что массовую рассылку запилить для массовых оповещений
0
 Аватар для Subik
170 / 45 / 5
Регистрация: 10.01.2013
Сообщений: 424
13.11.2013, 07:13  [ТС]
Цитата Сообщение от NinjaStar Посмотреть сообщение
ЛДАП сервер нам дай для теста с базой?
К сожалению не могу, сервер рабочий и могу получить за это по голове=)))
Цитата Сообщение от NinjaStar Посмотреть сообщение
а что тут дорабатывать
Ну вообще тут должна быть еще одна функция.
Но я пока не придумал как ее сделать=))
Доп. функция:
Кликните здесь для просмотра всего текста

Когда мы отправляем сообщение на почту, текст сообщения и ФИО получателя должны дублироваться на страницу сайта в табличном виде.
т.е. при нажатии кнопки "Отправить" мы отправляем сообщение на почту и в таблицу на сайт.
Вот я и не могу придумать как это сделать=((

А вообще в целом, код в порядке?
Нет ни каких недочетов?
0
46 / 48 / 2
Регистрация: 16.08.2013
Сообщений: 257
13.11.2013, 07:54
Subik, незнаю, может только что нет проверки на успешность в mail();

Добавлено через 5 минут
Цитата Сообщение от Subik Посмотреть сообщение
т.е. при нажатии кнопки "Отправить" мы отправляем сообщение на почту и в таблицу на сайт.
Вот я и не могу придумать как это сделать=((
обычныое добавление в таблицу в функции complete_mail() с помощю insert into

кстать, зачем дублировать присвоение
PHP
1
2
3
  $_POST['title'] = htmlspecialchars(trim($_POST['title'])); 
  $_POST['mess'] = htmlspecialchars(trim($_POST['mess']));
  $_POST['to'] = htmlspecialchars(trim($_POST['to']));
и потом
PHP
1
2
3
4
5
6
7
  $mess = $_POST['mess']; 
  // $to - кому отправляем 
  $to = $_POST['to']; 
  // $from - от кого 
  $from = 'test@test.ru'; 
 
  mail($to, $_POST['title'], $mess, "From:".$from);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2013, 07:54
Помогаю со студенческими работами здесь

Работа над ошибками
#include &lt;iostream&gt; #include &lt;math.h&gt; using namespace std; int main() { double a,b,c; bool x; cout &lt;&lt;...

Работа над ошибками
По сути, мне надо чтобы система дешифровала предложения и вроде бы вчера работала а сегодня глючит весь день и все тут unit Unit1;...

GuessingGame работа над ошибками!
Всем привет, помогите разобраться что я сделал неправильно....(и как добавить help!) public class GuessingGame { public...

работа над ошибками rss
Привет! млин, не могу создать заголовок для темы :( Хотел назвать - &quot;вопросы по rss&quot; - но стоит ограничение на слово...

задача С++ масивы работа над ошибками
#include &lt;vector&gt; #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;numeric&gt; #include &lt;stdlib.h&gt; inline bool IsZero(int in) ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru