Автор Тема: Регистрация  (Прочитано 1236 раз)

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

JohaАвтор темы

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Более 150 сообщений Более 10 созданных тем
  • Дата регистрации: Март 2017
  • Сообщений: 154
  • Страна: 00
  • Поблагодарили: 23 раз(а)
  • Репутация +4/-1
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Регистрация
« : 16 Мая 2017, 06:12:19 »
:preved: что нужно сделать на таких скритпах, там где перед регистрацией пишешь почту, и туда ссылку отправляют, можно ли сделать чтобы после ввода email сразу на страницу регистрации переходило

Добавлено сообщение: 16 Мая 2017, 06:14:08
Спойлер
<?PHP
$_OPTIMIZATION["title"] = "Регистрация";
$_OPTIMIZATION["description"] = "Регистрация пользователя в системе";
$_OPTIMIZATION["keywords"] = "Регистрация нового участника в системе";

if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }


if(!isset($_GET["key"])){


?>
<div class="silver-bk">
<div class="clr">
<div class="acc-title">Регистрация</div>
</div>
<BR />      
<center><p>Укажите Ваш Email, на него будет выслана ссылка для регистрации.</p></center>
<?PHP

   if(isset($_POST["email"])){

      if(isset($_SESSION["captcha"]) AND strtolower($_SESSION["captcha"]) == strtolower($_POST["captcha"])){
      
      unset($_SESSION["captcha"]);
      
      $email = $func->IsMail($_POST["email"]);
      $referer_id = (isset($_COOKIE["i"]) AND intval($_COOKIE["i"]) > 0 AND intval($_COOKIE["i"]) < 1000000) ? intval($_COOKIE["i"]) : 1;
      $ttime = time();
      $tidex = time() - 60*15;
      
         if($email !== false){
         
         $db->Query("DELETE FROM db_regkey WHERE date_del < '".$ttime."' OR (date_add < '".$tidex."' AND email = '$email')");
         $db->Query("SELECT COUNT(*) FROM db_regkey WHERE email = '$email'");
         
            if($db->FetchRow() == 0){
            
               $db->Query("SELECT COUNT(*) FROM db_users_a WHERE email = '$email'");
               
               if($db->FetchRow() == 0){
               
               
                  # Узнаем реферера
                  if($referer_id != 1){
                  
                     $db->Query("SELECT user FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
                     
                     if($db->NumRows() > 0){
                     
                        $referer_name = $db->FetchRow();
                     
                     }else{ $referer_id = 0; $referer_name = "admin"; }
                  
                  }else{ $referer_id = 1; $referer_name = "admin"; }
                  
                  
                  # Заносим запись в reg_key
                  $td = $ttime + 60*60;
                  $db->Query("INSERT INTO db_regkey (email, referer_id, referer_name, date_add, date_del)
                  VALUES ('$email','$referer_id','$referer_name','$ttime','$td')");
                  
                  $lid = $db->LastInsert();
                  $reg_key = $lid."-".md5($lid."_rfs_".$lid);
                  
                  # Отправляем на почту
                  $sender = new isender;
                  $sender -> SendRegKey($email, $reg_key);
                  
                  echo "<center><font color = 'green'><b>Указанный Email была отправлена ссылка для регистрации</b></font></center>";
                  ?></div>
                  <div class="clr"></div>   
                  <?PHP
                  return;
                  
               }else echo "<center><font color = 'red'><b>Указанный Email уже зарегистрирован в системе</b></font></center>";
               
            }else echo "<center><font color = 'red'><b>За последние 15 минут Вы уже запрашивали ссылку для регистрации</b></font></center>";
         
         }else echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>";
      
      }else echo "<center><font color = 'red'><b>Символы с картинки введены неверно</b></font></center>";

   }
?>
<BR /><center>
<form action="" method="post">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" width="250">Email (На него вышлем ссылку):</td>
<td align="left" width="250"><input name="email" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? $_POST["email"] : false; ?>"/></td>
</tr>
<tr>
<td align="left" width="250" style="padding-top:20px;">
<a href="#" onclick="ResetCaptcha(this);"><img src="/captcha.php?rnd=<?=rand(1,10000); ?>"  border="0" style="margin:0;"/></a>
</td>
<td align="left" width="250" style="padding-top:20px;">Введите символы с картинки<input name="captcha" type="text" size="25" maxlength="50" /></td>
</tr>
<tr>
<td colspan="6" align="center" style="padding:3px;"><BR /><input name="registr" type="submit" value="Зарегистрироваться" class="btn_in"></td>
</tr>
</table>
</form>
</center><BR />
</div>
<?PHP

return;
}

# Регистрация
$_GET["key"] = (string) $_GET["key"];

$token_data = explode('-', $_GET["key"]);

$token_id = intval($token_data[0]);
$token_hash = (string) $token_data[1];
   
   if(strlen($token_hash) != 32){ echo "<center><b><font color = 'red'>Ссылка для регистрации не действительна</font></b></center><BR />"; return; }
   
   $tkey = md5($token_id."_rfs_".$token_id);
   if($token_hash != $tkey){ echo "<center><b><font color = 'red'>Ссылка для регистрации не действительна</font></b></center><BR />"; return; }
   
   $db->Query("SELECT * FROM db_regkey WHERE id = '$token_id' LIMIT 1");
   if($db->NumRows() != 1){ echo "<center><b><font color = 'red'>Ссылка для регистрации не действительна</font></b></center><BR />"; return; }
   
   $data_t = $db->FetchArray();
   $db->FreeMemory();
   
?>
<div class="silver-bk">
<div class="clr">
<div class="acc-title">Регистрация</div>
</div>
<BR />
<center><font color="red">Внимание!</font> Уважаемые пользователи, в целях безопасности, не создавайте одинаковые пароли в подобных проектах, пользуйтесь <a href="http://randstuff.ru/password/">генераторами паролей</a></center>
<?PHP
   
   # Регистрация
   if(isset($_POST["login"])){
   
   $login = $func->IsLogin($_POST["login"]);
   $pass = $func->IsPassword($_POST["pass"]);
   $rules = isset($_POST["rules"]) ? true : false;
   $time = time();
   $ip = $func->UserIP;
   
   $referer_id = $data_t["referer_id"];
   $referer_name = $data_t["referer_name"];
   $email = $data_t["email"];
   
      if($rules){
      
         if($login !== false){
         
            if($pass !== false){
         
               if($pass == $_POST["repass"]){
                  
                  $db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
                  if($db->FetchRow() == 0){
                  
                  # Регаем пользователя
                  $db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
                  VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
                  
                  $lid = $db->LastInsert();
                  
                  $db->Query("INSERT INTO db_users_b (id, user) VALUES ('$lid','$login')");
                  
                  # Вставляем статистику
                  $db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
                  
                  # Удаляем рег кей
                  $db->Query("DELETE FROM db_regkey WHERE email = '$email' OR id = '$token_id'");
                  
                  echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />";
                  ?></div>
                  <div class="clr"></div>   
                  <?PHP
                  return;
                  }else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
                  
               }else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
         
            }else echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />";
         
         }else echo "<center><b><font color = 'red'>Логин заполнен неверно</font></b></center><BR />";
      
      }else echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />";
   
   }
      
?>
<BR /><center>
<form action="" method="post">
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <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="10" value="<?=(isset($_POST["login"])) ? $_POST["login"] : false; ?>"/></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Поле псевдоним должно иметь от 4 до 10 символов (только англ. символы).</td>
    </tr>

  <tr>
    <td colspan="2" align="left">&nbsp;</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Пароль: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name="pass" type="password" size="25" maxlength="20" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Поле Пароль должно иметь от 6 до 20 символов (только англ. символы).</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Пароль еще раз: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name="repass" type="password" size="25" maxlength="20" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Пароли должны совпадать.</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Вас пригласил:</td>
    <td align="left" style="padding:3px;">[ID: <?=$data_t["referer_id"];?>] <?=$data_t["referer_name"];?></td>
  </tr>
  <tr>
    <td colspan="2" align="left">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">
   С <a href="/rules" target="_blank" class="stn">правилами</a> проекта ознакомлен(а) и принимаю: <input name="rules" type="checkbox" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="center" style="padding:3px;"><input name="registr" type="submit" value="Зарегистрироваться" style="height: 30px;"></td>
  </tr>
</table>
</form>
</center>
</div>
[свернуть]
 

assus

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!!
  • Дата регистрации: Фев. 2016
  • Сообщений: 34
  • Страна: ru
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Регистрация
« Ответ #1 : 16 Мая 2017, 20:06:51 »
это в сети есть надо просто поискать.
a:0:{}
 

shans5

  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 4000 сообщений Топ 10 по созданным темам Топ 10 по сообщениям Более 1000 созданных тем Репутация более 50 Бывает груб к участникам форума. За время в онлайне на форуме
  • Дата регистрации: Сен. 2015
  • Расположение: Регион 58
  • Возраст: 42
  • Сообщений: 4234
  • Страна: ru
  • Поблагодарили: 1045 раз(а)
  • Репутация +84/-9
  • Пол: Мужской
  • Всё только начинается !!!
  • Дата рождения:1979-06-30
    • Награды
Регистрация
« Ответ #2 : 16 Мая 2017, 20:28:31 »
Ну замени _signup.php с другого проекта
Подвергнуть критике, может любой.
Создать то,что будет подвергнуто критике,дано не каждому.
 

kvozimir

  • снова в skype --> kvozimir
  • *
  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Топ 10 по созданным темам Топ 10 по сообщениям Репутация  более 25 Более 1500 сообщений Более 50 созданных тем Благодарность от форума За помощь пользователям За время в онлайне на форуме
  • Дата регистрации: Фев. 2016
  • Возраст: 29
  • Сообщений: 1976
  • Страна: ru
  • Поблагодарили: 235 раз(а)
  • Репутация +39/-1
  • Пол: Мужской
  • Дата рождения:1992-04-18
    • Награды
  • Социальные сети:
    ВКонтакте
Регистрация
« Ответ #3 : 17 Мая 2017, 03:40:01 »
можно сделать,главное время и желание

 

JohaАвтор темы

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! Более 150 сообщений Более 10 созданных тем
  • Дата регистрации: Март 2017
  • Сообщений: 154
  • Страна: 00
  • Поблагодарили: 23 раз(а)
  • Репутация +4/-1
  • Пол: Мужской
    • Награды
  • Социальные сети:
    ВКонтакте
Регистрация
« Ответ #4 : 17 Мая 2017, 06:48:18 »
Я разобрался)
 

Vorsing

  • *
  • Оффлайн
  • Награды Более 4 лет на форуме !!! За финансовую помощь форуму !!! Более 50 сообщений
  • Дата регистрации: Май 2017
  • Расположение: Камчатка, Вилючинск
  • Возраст: 38
  • Сообщений: 65
  • Страна: ru
  • Поблагодарили: 3 раз(а)
  • Репутация +1/-0
  • Пол: Мужской
  • Дата рождения:1983-03-20
    • Награды
Регистрация
« Ответ #5 : 17 Мая 2017, 17:20:20 »
Я разобрался)
поделись опытом.
 

Andrey2015

  • *
  • Оффлайн
  • Награды Более 5 лет на форуме !!! Более 10 созданных тем Более 50 сообщений
  • Дата регистрации: Апр. 2016
  • Сообщений: 75
  • Страна: ru
  • Поблагодарили: 1 раз(а)
  • Репутация +0/-0
  • Пол: Мужской
    • Награды
Регистрация
« Ответ #6 : 17 Мая 2017, 17:25:23 »
<?PHP
$_OPTIMIZATION["title"] = "Регистрация";
$_OPTIMIZATION["description"] = "Регистрация пользователя в системе";
$_OPTIMIZATION["keywords"] = "Регистрация нового участника в системе";

if(isset($_SESSION["user_id"])){ Header("Location: /account"); return; }


if(!isset($_GET["key"])){


?>
<td valign="top">
<div class="r_block">
<h1>Регистрация</h1><br>
<div class="">
<p>Укажите Ваш Email, он будет использоваться для входа в аккаунт.</p>

<?PHP

   if(isset($_POST["email"])){

      if (!empty($_POST['g-recaptcha-response'])) {
      
      $email = $func->IsMail($_POST["email"]);
      $referer_id = (isset($_COOKIE["i"]) AND intval($_COOKIE["i"]) > 0 AND intval($_COOKIE["i"]) < 1000000) ? intval($_COOKIE["i"]) : 1;
      $ttime = time();
      $tidex = time() - 0;
      
         if($email !== false){
         
         $db->Query("DELETE FROM db_regkey WHERE date_del < '".$ttime."' OR (date_add < '".$tidex."' AND email = '$email')");
         $db->Query("SELECT COUNT(*) FROM db_regkey WHERE email = '$email'");
         
            
            
               $db->Query("SELECT COUNT(*) FROM db_users_a WHERE email = '$email'");
               
               if($db->FetchRow() == 0){
               
               
                  # Узнаем реферера
                  if($referer_id != 1){
                  
                     $db->Query("SELECT user FROM db_users_a WHERE id = '$referer_id' LIMIT 1");
                     
                     if($db->NumRows() > 0){
                     
                        $referer_name = $db->FetchRow();
                     
                     }else{ $referer_id = 1; $referer_name = "First"; }
                  
                  }else{ $referer_id = 1; $referer_name = "First"; }
                  
                  
                  # Заносим запись в reg_key
                  $td = $ttime + 60*1;
                  $db->Query("INSERT INTO db_regkey (email, referer_id, referer_name, date_add, date_del)
                  VALUES ('$email','$referer_id','$referer_name','$ttime','$td')");
                  
                  $lid = $db->LastInsert();
                  $reg_key = $lid."-".md5($lid."_rfs_".$lid);
                  
                  # Отправляем на почту
                  $sender = new isender;
                  $sender -> SendRegKey($email, $reg_key);
                  
                  
                  header("Location: /signup/key/".$reg_key);
                  ?></div>
                  <div class="clr"></div>   
                  <?PHP
                  return;
                  
               }else echo "<center><font color = 'red'><b>Указанный Email уже зарегистрирован в системе</b></font></center>";
               
         }else echo "<center><font color = 'red'><b>Email имеет неверный формат</b></font></center>";
      
      }else echo "<center><font color = 'red'><b>Капча не пройдёна!</b></font></center>";

   }
?>
<BR />
<form action="" method="post">
<table width="500" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="left" width="250">Email (На него вышлем ссылку):</td>
<td align="left" width="250"><input name="email" type="text" size="25" maxlength="50" value="<?=(isset($_POST["email"])) ? htmlspecialchars($_POST["email"]) : false; ?>"/></td>
</tr>
<tr>
<td align="left" width="250" style="padding-top:20px;"><div class="g-recaptcha" data-sitekey="6LfJiiEUAAAAAO_wX-qNH-VYMoh10IL7cSRB9ilW"></div></td>
</tr>
<tr>
<td colspan="2" align="center"><BR /><input type="submit" value="Продолжить регистрацию" class="button" style="height: 35px; margin-top:10px;"></td>
</tr>
</table>
</form>
<BR />
</div>
<div class="clr"></div>   
<?PHP

return;
}

# Регистрация
$_GET["key"] = (string) $_GET["key"];

$token_data = explode('-', $_GET["key"]);

$token_id = intval($token_data[0]);
$token_hash = (string) $token_data[1];
   
   if(strlen($token_hash) != 32){ echo "<center><b><font color = 'red'>Ссылка для регистрации не действительна :(</font></b></center><BR />"; return; }
   
   $tkey = md5($token_id."_rfs_".$token_id);
   if($token_hash != $tkey){ echo "<center><b><font color = 'red'>Ссылка для регистрации не действительна :(</font></b></center><BR />"; return; }
   
   $db->Query("SELECT * FROM db_regkey WHERE id = '$token_id' LIMIT 1");
   if($db->NumRows() != 1){ echo "<center><b><font color = 'red'>Ссылка для регистрации не действительна :(</font></b></center><BR />"; return; }
   
   $data_t = $db->FetchArray();
   $db->FreeMemory();
   
?>
<td valign="top">
<div class="r_block">
<h1>Регистрация</h1><br>
<div class="">
<?PHP
   
   # Регистрация
   if(isset($_POST["login"])){
   
   $login = $func->IsLogin($_POST["login"]);
   $pass = $func->IsPassword($_POST["pass"]);
   $rules = isset($_POST["rules"]) ? true : false;
   $time = time();
   $ip = $func->UserIP;
   
   $referer_id = $data_t["referer_id"];
   $referer_name = $data_t["referer_name"];
   $email = $data_t["email"];
   
      if($rules){
      
         if($login !== false){
         
            if($pass !== false){
         
               if($pass == $_POST["repass"]){
                  
                  $db->Query("SELECT COUNT(*) FROM db_users_a WHERE user = '$login'");
                  if($db->FetchRow() == 0){
                  
                  # Регаем пользователя
                  $db->Query("INSERT INTO db_users_a (user, email, pass, referer, referer_id, date_reg, ip)
                  VALUES ('$login','{$email}','$pass','$referer_name','$referer_id','$time',INET_ATON('$ip'))");
                  
                  $lid = $db->LastInsert();
                  
               $db->Query("INSERT INTO db_users_b (id, user, a_t, last_sbor) VALUES ('$lid','$login','2', '".time()."')");
                  
                  # Вставляем статистику
                  $db->Query("UPDATE db_stats SET all_users = all_users +1 WHERE id = '1'");
                  
                  # Удаляем рег кей
                  $db->Query("DELETE FROM db_regkey WHERE email = '$email' OR id = '$token_id'");
                  
                  echo "<center><b><font color = 'green'>Вы успешно зарегистрировались. Используйте форму слева для входа в аккаунт</font></b></center><BR />";
                  ?></div>
                  <div class="clr"></div>   
                  <?PHP
                  return;
                  }else echo "<center><b><font color = 'red'>Указанный логин уже используется</font></b></center><BR />";
                  
               }else echo "<center><b><font color = 'red'>Пароль и повтор пароля не совпадают</font></b></center><BR />";
         
            }else echo "<center><b><font color = 'red'>Пароль заполнен неверно</font></b></center><BR />";
         
         }else echo "<center><b><font color = 'red'>Логин заполнен неверно</font></b></center><BR />";
      
      }else echo "<center><b><font color = 'red'>Вы не подтвердили правила</font></b></center><BR />";
   
   }
   
   
?>


<BR />
<form action="" method="post">
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <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="10" value="<?=(isset($_POST["login"])) ? htmlspecialchars($_POST["login"]) : false; ?>"/></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Поле псевдоним должно иметь от 4 до 10 символов (только англ. символы).</td>
    </tr>

  <tr>
    <td colspan="2" align="left">&nbsp;</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Пароль: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name="pass" type="password" size="25" maxlength="20" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Поле Пароль должно иметь от 6 до 20 символов (только англ. символы).</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Пароль еще раз: <font color="#FF0000">*</font></td>
    <td align="left" style="padding:3px;"><input name="repass" type="password" size="25" maxlength="20" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">Пароли должны совпадать.</td>
    </tr>
  <tr>
    <td align="left" style="padding:3px;">Вас пригласил:</td>
    <td align="left" style="padding:3px;">[ID: <?=$data_t["referer_id"];?>] <?=$data_t["referer_name"];?></td>
  </tr>
  <tr>
    <td colspan="2" align="left">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="left" style="padding:3px;">
   С <a href="/rules" target="_blank" class="stn">правилами</a> проекта ознакомлен(а) и принимаю: <input name="rules" type="checkbox" /></td>
  </tr>
  <tr>
    <td colspan="2" align="left">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2" align="center" style="padding:3px;"><input name="registr" type="submit" value="ЗАРЕГИСТРИРОВАТЬСЯ" class="button" style="height: 35px; margin-top:10px;"></td>
  </tr>
</table>
</form>

</div>
<div class="clr"></div>   
 
Теги:
 

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

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

Ответов: 4
Просмотров: 3465
Последний ответ 20 Февраля 2016, 23:21:26
от darkcs
External Accounts 2.0.2 - регистрация и авторизация через соц. сети XenForo 2

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

Ответов: 0
Просмотров: 358
Последний ответ 03 Января 2019, 16:52:10
от shans5
Clean Sign Up v2.0 – быстрая регистрация в чистом модальном окне для DLE

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

Ответов: 0
Просмотров: 626
Последний ответ 26 Мая 2019, 12:16:12
от shans5
регистрация,не приходит письмо с подтверждением

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

Ответов: 2
Просмотров: 728
Последний ответ 30 Марта 2019, 05:38:04
от finans13
Регистрация без подтверждения почты для фруктовой фермы

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

Ответов: 3
Просмотров: 4191
Последний ответ 10 Сентября 2016, 14:04:39
от maks161