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

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

enclaveАвтор темы

  • *
  • Оффлайн
  • Награды Более 50 сообщений Более 2 лет на форуме
  • Дата регистрации: Май 2016
  • Сообщений: 60
  • Страна: ru
  • Поблагодарили: 1 раз(а)
  • Репутация +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 Более 2 лет на форуме Более 1000 сообщений Благодарность от форума Более 50 созданных тем За время в онлайне на форуме
  • Дата регистрации: Янв. 2016
  • Расположение: Ростов-на-Дону
  • Возраст: 34
  • Сообщений: 1484
  • Страна: ru
  • Поблагодарили: 82 раз(а)
  • Репутация +16/-5
  • Пол: Мужской
  • Дата рождения:1984-03-10
    • Награды
Регистрация новых участников
« Ответ #1 : 25 Мая 2016, 00:15:53 »
Нет оценки
здесь есть на форуме скрипт! раздел бесплатно скрипты фф скачай скрипт алкоферма в нем рега по емайлу,вытащи и поставь к себе!
 

enclaveАвтор темы

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

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

enclaveАвтор темы

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

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

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

enclaveАвтор темы

  • *
  • Оффлайн
  • Награды Более 50 сообщений Более 2 лет на форуме
  • Дата регистрации: Май 2016
  • Сообщений: 60
  • Страна: ru
  • Поблагодарили: 1 раз(а)
  • Репутация +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"
 
 

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

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

Ответов: 4
Просмотров: 3047
Последний ответ 20 Февраля 2016, 23:21:26
от darkcs
Регистрация без подтверждения почты для фруктовой фермы

Автор shans5Раздел Разное для фф

Ответов: 3
Просмотров: 3751
Последний ответ 10 Сентября 2016, 14:04:39
от maks161
Регистрация на проекте запрещена

Автор teodorРаздел Общие вопросы по фермам

Ответов: 15
Просмотров: 1333
Последний ответ 03 Ноября 2016, 16:38:32
от teodor
некорректная регистрация и вход

Автор doktor540Раздел Вопросы по настройке фф

Ответов: 3
Просмотров: 575
Последний ответ 20 Февраля 2017, 17:01:55
от doktor540
Регистрация, не работает кнопка

Автор GameRussiaРаздел Вопросы по настройке фф

Ответов: 4
Просмотров: 314
Последний ответ 25 Сентября 2017, 08:40:38
от Kuper
Имя пользователя:
Пароль:
Session: