Автор Тема: Регистрация новых участников  (Прочитано 2723 раз)

0 Пользователей и 1 Гость просматривают эту тему.

enclaveАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 50 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 63
  • Страна: ru
  • Репутация +2/-0
  • Пол: Мужской
    • Награды
Всем доброго времени суток!
Проблема вот какая:
При регистрации можно любое мыло вписывать и регать более 2-х 3-х... аккаунтов, и в последствии перекидывать бонусы себе на основной аккаунт.
Как сделать, чтоб новому участнику проекта при регистрации, отправлялась ссылка подтверждения его e-mail(а)?
Если я не ошибаюсь этот файл отвечает за отправку: _class.isender.php
Сам код:
<?php
class isender{
   
   var $Hosts = "";
   
   /*======================================================================*\
   Function:   __construct
   Descriiption: Конструктор класса
   \*======================================================================*/
   function __construct(){
   
      $this->Hosts = str_replace("www.","",$_SERVER['HTTP_HOST']);
   
   }
   
   /*======================================================================*\
   Function:   SendRegKey
   Descriiption: Отправляет регистрационный ключ
   \*======================================================================*/
   function SendRegKey($mail, $key){
   
      $text = "На ваш Email была запрошена ссылка для регистрации в системе \"".$this->Hosts."\"<BR />";
      $text.= "Если вы не запрашивали ссылку, просто проигнорируйте это сообщение. <BR /><BR />";
      $text.= "Ссылка для регистрации: <a href='http://".$this->Hosts."/signup/key/{$key}'>";
      $text.= "http://".$this->Hosts."/signup/key/{$key}</a>";
      $subject = "Регистрация в системе \"".$this->Hosts."\"";
      
      return $this->SendMail($mail, $subject, $text);
      
   }
   
   /*======================================================================*\
   Function:   RecoveryPassword
   Descriiption: Восстановление пароля
   \*======================================================================*/
   function RecoveryPassword($user, $pass, $mail){
   
      $text.= "Данные для входа в личный кабинет пользователя: <BR />";
      $text.= "<b>Логин:</b> {$user}<BR />";
      $text.= "<b>Пароль:</b> {$pass}<BR />";
      $text.= "Ссылка для входа в кабинет: <a href='http://".$this->Hosts."/signin'>http://".$this->Hosts."/signin</a>";
      $subject = "Восстановление забытого пароля в системе \"".$this->Hosts."\"";
      
      return $this->SendMail($mail, $subject, $text);
      
   }
   
   /*======================================================================*\
   Function:   SendAfterReg
   Descriiption: Отправляет данные после регистрации
   \*======================================================================*/
   function SendAfterReg($user, $mail, $pass){
   
      $text = "Благодарим вас за регистрацию в системе в системе \"".$this->Hosts."\"<BR />";
      $text.= "Ваши данные для входа в личный кабинет пользователя: <BR />";
      $text.= "<b>Логин:</b> {$user}<BR />";
      $text.= "<b>Пароль:</b> {$pass}<BR />";
      $text.= "Ссылка для входа в кабинет: <a href='http://".$this->Hosts."/signin'>http://".$this->Hosts."/signin</a>";
      $subject = "Завершение регистрации в системе \"".$this->Hosts."\"";
      
      return $this->SendMail($mail, $subject, $text);
      
   }
   
   /*======================================================================*\
   Function:   SetNewPassword
   Descriiption: Отправляет данные после смены пароля
   \*======================================================================*/
   function SetNewPassword($user, $pass, $mail){
   
      $text = "В настройках вашего аккаунта был изменен пароль<BR />";
      $text.= "Ваши новые данные для входа в личный кабинет пользователя: <BR />";
      $text.= "<b>Логин:</b> {$user}<BR />";
      $text.= "<b>Новый пароль:</b> {$pass}<BR />";
      $text.= "Ссылка для входа в кабинет: <a href='http://".$this->Hosts."/signin'>http://".$this->Hosts."/signin</a>";
      $subject = "Смена пароля в системе \"".$this->Hosts."\"";
      
      return $this->SendMail($mail, $subject, $text);
      
   }
   
   
   /*======================================================================*\
   Function:   Headers
   Descriiption: Создание заголовков письма
   \*======================================================================*/
   function Headers(){
   
   $headers = "MIME-Version: 1.0\r\n";
   $headers.= "Content-type: text/html; charset=Windows-1251\r\n";
   $headers.= "Date: ".date("m.d.Y (H:i:s)",time())."\r\n";
   $headers.= "From: support@".$this->Hosts." \r\n";
   
      return $headers;
   
   }
   
   /*======================================================================*\
   Function:   SendMail
   Descriiption: Отправитель
   \*======================================================================*/
   function SendMail($recipient, $subject, $message){
   
      $message .= "<BR />----------------------------------------------------
      <BR />Сообщение было выслано роботом, пожалуйста, не отвечайте на него!";
      return (mail($recipient, $subject, $message, $this->Headers())) ? true : false;
   
   }
   
   
   
}
?>
 

maks161

  • *
  • *
  • *
  • Оффлайн
  • Награды Топ 10 по сообщениям Топ 10 по созданным темам Репутация более 15 Три года на форуме !!! За финансовую помощь форуму !!! Более 1500 сообщений Благодарность от форума Более 50 созданных тем За время в онлайне на форуме
  • Дата регистрации: Янв. 2016
  • Расположение: Ростов-на-Дону
  • Возраст: 35
  • Сообщений: 1701
  • Страна: ru
  • Поблагодарили: 126 раз(а)
  • Репутация +20/-5
  • Пол: Мужской
  • Дата рождения:1984-03-10
    • Награды
Регистрация новых участников
« Ответ #1 : 25 Мая 2016, 00:15:53 »
здесь есть на форуме скрипт! раздел бесплатно скрипты фф скачай скрипт алкоферма в нем рега по емайлу,вытащи и поставь к себе!
 

enclaveАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 50 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 63
  • Страна: ru
  • Репутация +2/-0
  • Пол: Мужской
    • Награды
Регистрация новых участников
« Ответ #2 : 26 Мая 2016, 19:18:05 »
Скачал скрипт, узнал, что за регистрацию отвечает файл: "_signup.php"
Скопировал код с алкофермы с заменой.
Всё заработало, но при условии, что на хостинге создан почтовый аккаунт!

maks161 выражаю вам свою благодарность :be happy:
 

enclaveАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 50 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 63
  • Страна: ru
  • Репутация +2/-0
  • Пол: Мужской
    • Награды
Регистрация новых участников
« Ответ #3 : 26 Мая 2016, 22:53:44 »
Назрел ещё один вопрос:

Как увеличить число вводимых символов в поле, где прописываешь логин при регистрации, с 10 до 20 знаков?

Изменение значения в базе данных всех varchar(10) на varchar(20) результатов не дали!
 

enclaveАвтор темы

  • *
  • Оффлайн
  • Награды Три года на форуме !!! Более 50 сообщений
  • Дата регистрации: Май 2016
  • Сообщений: 63
  • Страна: ru
  • Репутация +2/-0
  • Пол: Мужской
    • Награды
Регистрация новых участников
« Ответ #4 : 31 Мая 2016, 22:08:21 »
Решил таки проблему :be happy:
В файле; _class.func.php

/*======================================================================*\
   Function:   IsLogin
   Output:      True / False
   Input:      Строка логина, Маска, Длина ("10, 25") && ("10")
   Descriiption: Проверяет правильность ввода логина
   \*======================================================================*/
   public function IsLogin($login, $mask = "^[a-zA-Z0-9]", $len = "{4,10}"){

      return (is_array($login)) ? false : (preg_match("/{$mask}{$len}$/", $login)) ? $login : false;

   }

   /*======================================================================*\

Заменим $len = "{4,10}" на $len = "{4,20}" и уже можно вписывать логин из 20-ти символов.

Ещё нужно поправить в файле: _signup.php

<td align="left" style="padding:3px;">Ваш Логин: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name="login" type="text" size="25" maxlength="20" value="<?=(isset($_POST["login"])) ? $_POST["login"] : false; ?>"/></td>
maxlength="10" изменить на "20"
 

den1978

  • *
  • Оффлайн
  • Дата регистрации: Март 2019
  • Сообщений: 3
  • Страна: ua
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Регистрация новых участников
« Ответ #5 : 29 Марта 2019, 17:51:36 »
А что делать если не приходит подтверждение на почту для регистрации?
 
 

Модуль "Фейковые регистрация пользователей"

Автор velas85Раздел Совместные покупки

Ответов: 4
Просмотров: 3172
Последний ответ 20 Февраля 2016, 23:21:26
от darkcs
Clean Sign Up v2.0 – быстрая регистрация в чистом модальном окне для DLE

Автор shans5Раздел Модули DLE

Ответов: 0
Просмотров: 237
Последний ответ 26 Мая 2019, 12:16:12
от shans5
External Accounts 2.0.2 - регистрация и авторизация через соц. сети XenForo 2

Автор shans5Раздел Модули (плагины) XenForo

Ответов: 0
Просмотров: 114
Последний ответ 03 Января 2019, 16:52:10
от shans5
Регистрация без подтверждения почты для фруктовой фермы

Автор shans5Раздел Разное для фруктовых ферм

Ответов: 3
Просмотров: 3903
Последний ответ 10 Сентября 2016, 14:04:39
от maks161
регистрация,не приходит письмо с подтверждением

Автор den1978Раздел Вопросы / ответы по разным скриптам

Ответов: 2
Просмотров: 466
Последний ответ 30 Марта 2019, 05:38:04
от finans13
Имя пользователя:
Пароль:
Session: