Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Хаки » Уведомление о новом пользователе на e-mail

Уведомление о новом пользователе на e-mail


     24.10.2013    Все вопросы » Хаки    4425

вопрос
Использую хак для уведомления на почту о новом зарегистрированном пользователе.

Установка:
Открываем engine/modules/register.php

Ищем...
$db->query("INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '".$config['reg_group']."', '', '', '', '', '".$_IP."')");


После вставляем..
include_once ENGINE_DIR.'/classes/mail.class.php';
$mail = new dle_mail ($config);
$amail="тут е-mail"; # <= тут вписываем мыло на которое будем отправлять
$mail->send ($amail, "Новый Юзер $name!", "На сайте зарегистрирован новый пользователь $name! \r\n IP:$_IP \r\n Email: $email");


На почту приходит уведомление, в котором логин и почта. Как сюда подцепить поля, которые выводятся тегом {xfields} ? Чтобы на почту приходила сразу вся информация о пользователе. За ранее спасибо.

Ответил: vitnet


/engine/modules/resgister.php
Найти:
        $db->query( "UPDATE " . USERPREFIX . "_users SET fullname='$fullname', info='$info', land='$land', icq='$icq', xfields='$filecontents' WHERE user_id='{$row['user_id']}'" );
        
        msgbox( $lang['reg_ok'], $lang['reg_ok_1'] );


Заменить на:
        $db->query( "UPDATE " . USERPREFIX . "_users SET fullname='$fullname', info='$info', land='$land', icq='$icq', xfields='$filecontents' WHERE user_id='{$row['user_id']}'" );
        
        include_once ENGINE_DIR.'/classes/mail.class.php';
        $mail = new dle_mail ($config);
        $amail="тут е-mail"; # <= тут вписываем мыло на которое будем отправлять
        $mail->send ($config['admin_mail'], "Новый Юзер $user!", "На сайте зарегистрирован новый пользователь $user!\r\n\nEmail: $email\r\nИмя: $user\r\nПолное имя: $fullname\r\nМесто жительства: $land\r\nICQ: $icq\r\nДоп. поле: $filecontents\r\nИнформация о пользователе: $info\r\nIP: $_IP");
        
        msgbox( $lang['reg_ok'], $lang['reg_ok_1'] );

17 комментариев

vitnet
PHP-developer

vitnet - 24 октября 2013 12:29 -

Тут все очень просто, правда есть одно но. Все будет работать толико при заполнении / обновлении всей информации о себе.

Как вы уже заметили в вашем запросе нет никакой информации в данных полях, нужно все это дело перенести ниже запроса "UPDATE ....". Весь (подробный) процесс расписать не могу так как пишу с мобилы, вечером отпишу

darkheart
Юзер

darkheart - 24 октября 2013 12:40 -

Ну это да понятно что если будут заполнены поля, но за основу будем брать то, что поля будут заполнены. Поэтому задача присылать на почту все данные. Спасибо, жду вечера)

vitnet
PHP-developer

vitnet - 24 октября 2013 22:04 -

ПафНутиЙ, поправьте Полное имя: $full на Полное имя: $fullname

darkheart
Юзер

darkheart - 24 октября 2013 22:17 -

Большое спасибо

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 08:50 -


Почему у меня ошибка выходит? Всё хорошо ошибок нет помимо неё. Вот только такая ошибка когда нажимаю регистрация: \engine\modules\register.php on line 649 (DLE 13.2 ОФЦ раширеная)

Подскажите что делать, надо для сайта сделать что бы уведомления приходили Администрации сайта.

- Дай бог здоровья кто поможет!)

Gera
Юзер

Gera - 25 сентября 2019 08:53 -

$amail="musikveg@yande.ru";
вот так

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:03 -


Спасибо не заметил. Но проблема появилась такая после "Подтверждения регистрации" - Что делать?



MySQL error in file: \engine\modules\register.php at line 592
Error Number: 1054
The Error returned was:
Unknown column 'icq' in 'field list'
SQL query:

UPDATE dle_users SET fullname='Юра', info='', land='Россия', icq='', xfields='' WHERE user_id='11'

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:03 -


Вот само фото

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 08:54 -


На 2 Фото всё норм. Но нет смысла так оставлять, без ввода email не придёт уведомление. Может надо ввести по другому? (Уже с ; использовал нет смысл)

Gera
Юзер

Gera - 25 сентября 2019 08:59 -

где написано "тут e-mail" туда и вводите свой e-mail вместо текста "тут e-mail" )

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:06 -


Да верно, я сделал как вы сказали. Но появилась ошибка показанная строка "592"

Gera
Юзер

Gera - 25 сентября 2019 09:12 -

Попробуйте в этой строке удалить

icq='$icq',

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:21 -

Нее, не работает! ЦПП говорит что - "Выполнить надо повторное обновление базы данных"


Знаете как сделать это? Я не знаю просто(

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:36 -

Даа, Спасибо вам большое! Дай бог здоровья))


Если кто-то будет себе делать то плевать что версия DLE 13.2 Всё работает надо удалить всего то "icq='$icq',"

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:51 -

Надо было всего то - На 592 и обязательно на 645 строке убрать "icq='$icq',"

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:37 -

Спасибо ещё раз

Egor30rus
Юзер

Egor30rus - 25 сентября 2019 09:13 -


- Почистил код от дряни. Вставил оригинал, и поменял на мой код с emal - Но без толку ошибка: Error Number: 1054

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх