Среда, 27 Ноября 2024, 21:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вопросы по движку Savash
CheloBeK1Дата: Вторник, 28 Января 2014, 00:53 | Сообщение # 1
был не раз
Сейчас нет на сайте
Всем привет , помогите пожалуйста настроить регистрацию в Savash без активации по email , пробывал убирать все функции отвечающие за email - толку мало . Заранее спасибо .

Код
<?php  
$title = "Регистрация";  
include("head.php");  
?>
<?php
if (!$action == 'register') {
?>
<table cellpadding="3" cellspacing="3" width="95%" align="center" class="tab">
<tr align="center" class="trhead"><td colspan="2">
<?php
$nump = mysql_num_rows(mysql_query("select * from players where varified='Yes'"));
print "Всего игроков: <b>$nump</b><br>";
?>
</td></tr>
<tr align="center" class="tr"><td colspan="2">Поля отмеченные знаком * - обязательны к заполнению.</td></tr>

<form method=post action=register.php?action=register>
<tr class="tr"><td>* Логин:</td><td><input type=text name=new_user></td></tr>
<tr class="tr"><td>* Пол персонажа:</td><td>
<select size="1" name="sex" id="sex">
<option value="Мужской">Мужской</option>
<option value="Женский">Женский</option>
</select>
</td>
</tr>
<tr class="tr"><td>* Пароль:</td><td><input type=password name=new_pass></td></tr>
<tr class="tr"><td>* Ещё раз пароль:</td><td><input type=password name=var_pass></td></tr>
<tr class="tr"><td>* Email:</td><td><input type=text name=new_email></td></tr>
<tr class="tr"><td>* Ещё раз Email:</td><td><input type=text name=var_email></td></tr>
<tr class="tr"><td>* Контрольный вопрос:</td><td><select name=sec_question id=type>
<option value="Ваш любимый фильм?">Ваш любимый фильм?</option>
<option value="Дата вашего рождения?">Дата вашего рождения?</option>
<option value="Кличка вашего питомца?">Кличка вашего питомца?</option></select>
</td>
</tr>
<tr class="tr"><td>* Ответ:</td><td><input type=text name=sec_pass></td></tr>
<?php
print "<tr class=\"tr\"><td>ID номер реферала:</td><td><input type=text name=ref value=$ref> <i>Не обязательно</i></td></tr>
<tr bgcolor=\"#E1C99A\"><td> </tr><td><input type=submit value=\"Регистрация\"></td></tr>
</form></table><br>";
}
?>

<?php
if ($action == 'register') {
$new_user = htmlspecialchars($new_user);
$new_user = strip_tags($new_user);
$skill = htmlspecialchars($skill);
$new_pass = htmlspecialchars($new_pass);
$var_pass = htmlspecialchars($var_pass);
$new_email = htmlspecialchars($new_email);
$var_email = htmlspecialchars($var_email);
$sec_question = htmlspecialchars($sec_question);
$sec_pass = htmlspecialchars($sec_pass);
$ref = htmlspecialchars($ref);
if (ereg("^([a-zA-Z0-9_\.]*)@([A-Za-z0-9_]*)\.([A-Za-z_\.]*)$", $new_email)) {
if(eregi('[/@*#%{}()=<>-]', $new_user)) {
print "Логин содержит не допустимые знаки!";
include("foot.php");
exit;
}
if(eregi('[/@*#%{}()=<>]', $sec_question)) {
print "'$sec_question' содержит не допустимые знаки!<br><br>";
include("foot.php");
exit;
}
if(eregi('[@*#%{}()=<>-]', $sec_pass)) {
print "'$sec_pass' содержит не допустимые знаки!<br><br>";
include("foot.php");
exit;
}
if(strlen($new_user) < 3) {
print "Логин $new_user меньше чем 3 знака.<br><br>";  
include("foot.php");
exit;
}
if(strlen($new_user) > 15) {
print "Логин $new_user больше 15 знаков.<br><br>";  
include("foot.php");
exit;
}
if(strlen($new_pass) < 3) {
print "Пароль $new_pass меньше чем 3 знака.<br><br>";  
include("foot.php");
exit;
}
if(strlen($new_pass) > 15) {
print "Пароль $new_pass больше 15 знаков.<br><br>";  
include("foot.php");
exit;
}
if (!$new_user || !$new_email || !$sec_question || !$sec_pass || !$new_pass || !$var_pass) {
print "Вы должны заполнить все поля.<br><br>";
include("foot.php");
exit;
}
$dupe1 = mysql_num_rows(mysql_query("select * from players where user='$new_user'"));
if ($dupe1 > 0) {
print "Этот логин уже используется в игре.<br><br>";
include("foot.php");
exit;
}
$dupe2 = mysql_num_rows(mysql_query("select * from players where email='$new_email'"));
if ($dupe2 > 0) {
print "Этот E-mail уже используется в игре.<br><br>";
include("foot.php");
exit;
}
if ($new_email != $var_email) {
print "E-mail введён неверно.<br><br>";
include("foot.php");
exit;
}
if ($new_pass != $var_pass) {
print "Пароль введён неверно.<br><br>";
include("foot.php");
exit;
}
if ($sex == "Мужской") {
$charsex = "Мужской";
}
if ($sex == "Женский") {
$charsex = "Женский";
}
$email_pass = ($new_pass);
$db_pass = md5($new_pass);
$db_pass2 = md5($db_pass);
$db_pass3 = md5($db_pass2);
$db_pass4 = md5($db_pass3);
$db_pass5 = md5($db_pass4);
mysql_query("insert into players (user, email, pass, question, answer, avatar, profile, gender) values('$new_user','$new_email','$db_pass5','$sec_question','$sec_pass','m1.gif','Пусто','$charsex')") or die("Проблема с регистрацией №1.");
$randomver = rand(1000 , 9000);
$info = mysql_fetch_array(mysql_query("select * from players where user='$new_user' and pass='$db_pass5'"));
mysql_query("insert into register (userid, refid, random) values('$info[id]','$ref','$randomver')") or die("Проблема с регистрацией №2.");
$register = mysql_fetch_array(mysql_query("select * from register where userid='$info[id]'"));
$message = "Добро пожаловать в $site_com\nВы должны активировать ваш аккаунт кликнув на ссылку ниже\n<a href=$email_link/verify.php?action=verify&id=$info[id]&pass=$register[random]>Сюда</a>\nЛогин: $new_user\nПароль: $email_pass\nУдачной игры! \n\n\nНе отвечайте на это письмо, оно отправлено автоматически.";
mail("$new_email", "Welcome to $site_com", "$message","From: webadmin$end_of_email\r\n"."Reply-To: $admin_email\r\n"."X-Mailer: PHP/" . phpversion()) or die("Well bad news is, your user name is now taken, more bad news is that the e-mail could not be sent");
print "<table cellpadding=\"3\" cellspacing=\"3\" width=\"95%\" class=\"tab\" align=\"center\"><tr class=\"tr\"><td>";
print "Вы зарегестрировались в игре $gamename. Вам выслана ссылка подтверждения вашего аккаунта. Вы должны активировать вашу учётную запись в течении 24 часов - иначе она будет удалена.</td></tr></table>";
}else{
print "E-mail указанный вами - неверного формата.";
include("foot.php");
exit;
}}
?><br><b>Помощь при регистрации</b><br><img src="images/frame/horline.gif">
<table cellspacing="3" cellpadding="3" width="95%" class="tab">
<tr class="tr"><td><b>Логин</b><br>Логин не может состоять меньше чем из 3 и больше чем из 15 знаков.<br>Знаки <b>/@*#%{}()-<></b> запрещены.</td></tr>
<tr class="tr"><td><b>Пароль</b><br>Новый пароль будет сформирован из указанного вами и выслан на почтовый адрес. Пароль не может состоять меньше чем из 3 и больше чем из 15 знаков.</td></tr>
<tr class="tr"><td><b>E-mail</b><br>Важно указать действующий почтовый ящик, иначе вы не сможете войти в игру.</td></tr>
<tr class="tr"><td><b>Контрольный вопрос и ответ</b><br>Запомните ответ на контрольный вопрос - он нужен будет для восстановления пароля.</td></tr>
<tr class="tr"><td><b>ID номер реферала</b><br>Вы можете ввести ID номер игрока пригласившего вас в игру, таким образом он заработает дополнительные возможности.</td></tr>
</table><br>
<?php include("foot.php"); ?>
lvovandДата: Вторник, 28 Января 2014, 01:56 | Сообщение # 2
старожил
Сейчас нет на сайте
посмотри что делает код в файле verify.php, наверно обновляет какое-нибудь поле статуса у игрока и делай тогда это изменение сразу при регистрации, а потом уже убираешь отправку емейла

Разработка и продвижение сайтов. Дизайн
CheloBeK1Дата: Пятница, 31 Января 2014, 12:31 | Сообщение # 3
был не раз
Сейчас нет на сайте
Вот verify.php

Код
<?php  
$title = "Активация";  
include("head.php");  
?>
<?php
if ($action == 'verify') {
if ($id == '') {
print "<br>ID линка не верный.<br><br>";
include("foot.php");
exit;
}
if ($pass == '') {
print "<br>Пароль линка не верный.<br><br>";
include("foot.php");
exit;
}
$register = mysql_fetch_array(mysql_query("select * from register where userid='$id'"));
if ($register[random] == $pass) {
mysql_query("update players set varified='Yes' where id=$register[userid]");
$ref = str_replace($remove_these, "", "$ref");
$ref = htmlspecialchars($ref);
mysql_query("update players set refs=refs+1 where id=$register[refid]");
mysql_query("update players set platinum=platinum+1 where id=$register[refid]");
mysql_query("delete from register where userid='$id'");
print "<br>Учётная запись активирована. Добро пожаловать.<br><b>$gamename</b><br><br>";
} else {
print "<br>Активация уже была произведена.<br><br>";
}
}
?>
<?php include("foot.php"); ?>


Я так понимаю нужно это менять ?
Код
mysql_query("update players set refs=refs+1 where id=$register[refid]");
mysql_query("update players set platinum=platinum+1 where id=$register[refid]");
mysql_query("delete from register where userid='$id'");

Добавлено (31.01.2014, 12:31)
---------------------------------------------
Помогите сделать нормальную регистрацию , пожалуйста !

MrDead1488Дата: Пятница, 31 Января 2014, 15:51 | Сообщение # 4
почетный гость
Сейчас нет на сайте
Начни с 0 создание регистрации, посмотри какие поля и таблицы принимают значения при старой регистрации и всё
lvovandДата: Пятница, 31 Января 2014, 16:11 | Сообщение # 5
старожил
Сейчас нет на сайте
update players set varified='Yes' where id=...
при регистрации прописывай сразу 'Yes'
а запись в таблицу register тогда и не нужна будет, если оттуда все равно удаляется


Разработка и продвижение сайтов. Дизайн
CheloBeK1Дата: Понедельник, 03 Февраля 2014, 10:16 | Сообщение # 6
был не раз
Сейчас нет на сайте
Цитата lvovand ()
update players set varified


Как ?
lvovandДата: Понедельник, 03 Февраля 2014, 12:09 | Сообщение # 7
старожил
Сейчас нет на сайте
Цитата CheloBeK1 ()
Как ?

когда добавляется новый игрок, пропиши полю varified значение 'Yes'


Разработка и продвижение сайтов. Дизайн
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг