powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Регистрация через сайт Server Legion WOW
25 сообщений из 34, страница 1 из 2
Регистрация через сайт Server Legion WOW
    #39996045
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
привет всем у меня возникала такая проблема я немогу зарегистрировать акукуант на веб обвязке сервера
сам аккуант заносится в таблицу Navicat account
но не заносится в таблицу Battlenet_accounts и по этой причине невозможно зайти на сервер
есть страница регистрации и скрипт на регистрацию легиона но я не понимаю как правильно вставить такой скрипт чтобы он работал
уже что только не перепробовал я плохо разбираюсь в скриптах и их функциях изучил только те которые мне были необходимы раньше для понимания их значений
вообщем вот сама регистрация сайта

<? include "trunk/lagranj/header.php"?>
<? include "trunk/lagranj/top.php"?>

<div class="lContent">

<div id="newsBlock">
<h1> Перед регистрацией просьба ознакомиться с правилами сервера</h1>
<div id="newsContainer">


<div id="n1" class="news opened" rel="news-1">

<h2>Создание аккаунта</h2>
<div align="center" class="newscontent" >
<table border="1">
<?
include "trunk/lagranj/config.php";
error_reporting (0);
$database_encoding = 'CP1251';
$tbc = 3;
$realmd = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db1", $realmd);

$world = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db2", $world);

$characters = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db3", $characters);
?>
<font color=#00CC00>
</font>
<center>
<form method=post action=reg.php onsubmit=\"return checkform(this)\">

<th scope='col'><center>
<script type="text/javascript">
function isAlphaNumeric(value)
{
if (value.match(/^[a-zA-Z0-9_]+$/))
return true;
return false;
}
function checkform(f)
{
if (f.account.value == "")
{
alert("Введите логин");
return false;
}
if (!isAlphaNumeric(f.account.value))
{
alert("Запрещенные символы в логине");
return false;
}
if (f.password.value=="")
{
alert("Введите пароль");
return false;
}
if (!isAlphaNumeric(f.password.value))
{
alert("Запрещенные символы в пароле");
return false;
}
if (f.password2.value=="")
{
alert("Введите повтор пароля");
return false;
}
if (f.password.value != f.password2.value)
{
alert("Пароли не совпадают!");
return false;
}
if (f.email.value=="")
{
alert("Вы не ввели e-mail");
return false;

}
}
</script>
<table><tr>
<td><LABEL for=account>Имя Аккаунта:</LABEL></td><td><INPUT id=account style="WIDTH: 175px" tabIndex="1" maxLength="12" size="18" name="account"></td>
</tr><tr>
<td><LABEL for=password>Пароль:</LABEL></td><td><INPUT id="password" style="WIDTH: 175px" tabIndex=2 type=password maxLength=12 size=18 name="password"></td>
</tr><tr>
<td><LABEL for=password2>Повтор Пароля:</LABEL></td><td><INPUT id='password' style='WIDTH: 175px' tabIndex=2 type=password maxLength=12 size=18 name='password2'></td>
</tr><tr>
<td><LABEL for=email>E-mail:</LABEL></td><td><INPUT id=email style="WIDTH: 175px" tabIndex=2 maxLength=50 size=18 name=email></td>
</tr><tr></table>
<br />
<input type="submit" name="submit" value="Готово" />


</th>
<?
if (isset($_POST['account'])) {
if ($_POST['account'] && strlen($_POST['account'])<=20 && strlen($_POST['account'])>=3 && strlen($_POST['password'])>=3 && $_POST['password'] && $_POST['password2'] && $_POST['password']==$_POST['password2']) {
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['account']))
die ("<p>Error: SQL-Injection</p>");
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['password']))
die ("<p>Error: SQL-Injection</p>");
$pass = ($_POST['password']);
$username = ($_POST['account']);
$result = mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."'", $realmd);
if (mysql_num_rows($result) != 0) {
echo "<center><p><font color=#CC0000><b>Такой аккаунт уже существует!</b></font></p></center>";
} else {
if (!mysql_query("INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass')) ), '".$_POST['email']."', $tbc)", $realmd)) {echo "<center><p><font color=#CC0000><b>Ошибка</b></font></p></center>";} else {echo "<center><p><font color=#00CC00><b>Аккаунт успешно зарегестрирован!</b></font></p></center>";}
}
} else {
echo "<center><p><font color=#CC0000><b>Проверьте правильность ввода!</b></font></p></center>";
}
}
?>
</table>


И СКРИПТ который я нашел на просторах интернета утверждают что рабочий
<?php
$dbhost = "127.0.0.1";
$dbuser = "root";
$dbpass = "ascent";
$dbname = "wowscripts";

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

function encryptpw($user, $pass) {
$user = strtoupper($user);
$pass = strtoupper($user);
return sha1($user.':'.$pass);
}

$email = strtoupper($_POST['email']);
$expansion = $_POST['exp'];
$bnetindex = "1";


// Battlenet Password
$bnetpassword = strtoupper(bin2hex(strrev(hex2bin(strtoupper(hash("sha256",strtoupper(hash("sha256", strtoupper($email)).":".strtoupper($_POST['pass']))))))));

// Queries
if($insbnet = $conn->prepare("INSERT INTO battlenet_accounts (email, sha_pass_hash) VALUES (?, ?);")) {
$insbnet->bind_param("ss", $email, $bnetpassword);
$insbnet->execute();

$getid = $conn->prepare("SELECT id FROM battlenet_accounts WHERE email = ?");
$getid->bind_param("s", $email);
$getid->execute();
$getid->bind_result($id);
$getid->store_result();
if($getid->num_rows > 0) {
while($getid->fetch()) {
$bnetacc = $id;
$username = $id."#".$bnetindex;
$accpassword = encryptpw($username, $_POST['pass']);
}
}

if($insacc = $conn->prepare("INSERT INTO account (username, sha_pass_hash, email, expansion, battlenet_account, battlenet_index) VALUES (?, ?, ?, ?, ?, ?);")) {
$insacc->bind_param("sssiii", $username, $accpassword, $email, $expansion, $bnetacc, $bnetindex);
$insacc->execute();
}else{
echo $insacc->error;
}
}else{
echo $insbnet->error;
}
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996049
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkaider
уже что только не перепробовал
Что именно перепробовали? Ну, чтобы два раза не повторяться.
Сообщние об ошибке выполнения запроса прочитать пробовали?

Ну и еще пара моментов. Предложения в русском языке, принято начинать с заглавной буквы и заканчивать точкой. А код в постах форума оформлять тегом SRC. Подробнее в Правилах форума.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996053
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
Я конечно извиняюсь что не правильно выложил код в теме просто я только что зарегистрировался
я пробовал сперва без этого скрипта добавлять в таблицу battlenet_accounts вукциями

Код: php
1.
2.
if (!mysql_query("INSERT INTO battlenet_accounts ( email, sha_pass_hash) VALUES ( '".$_POST['email']."')
.........  (


но даже sha_pass_hash у меня работал либо некорректно либо выскакивали одни ошибки так же я не смог добавить ид из battlenet_accounts в таблицу account (battlenet_account) пробовал и функциями select*FROM но ничего не получилось,

как только я наткнулся на это скрипт я пробовал его заменить по бытом удаления этого кода с заменой
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
if (isset($_POST['account'])) {
if ($_POST['account'] && strlen($_POST['account'])<=20 && strlen($_POST['account'])>=3 && strlen($_POST['password'])>=3 && $_POST['password'] && $_POST['password2'] && $_POST['password']==$_POST['password2']) {
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['account']))
die ("<p>Error: SQL-Injection</p>");
if (!eregi("^[a-zA-Z0-9_]+$", $_POST['password']))
die ("<p>Error: SQL-Injection</p>");
$pass = ($_POST['password']);
$username = ($_POST['account']);
$result = mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."'", $realmd);
if (mysql_num_rows($result) != 0) {
echo "<center><p><font color=#CC0000><b>Такой аккаунт уже существует!</b></font></p></center>";
} else {
if (!mysql_query("INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass')) ), '".$_POST['email']."', $tbc)", $realmd)) {echo "<center><p><font color=#CC0000><b>Ошибка</b></font></p></center>";} else {echo "<center><p><font color=#00CC00><b>Аккаунт успешно зарегестрирован!</b></font></p></center>";}
}
} else {
echo "<center><p><font color=#CC0000><b>Проверьте правильность ввода!</b></font></p></center>";
}
}
?>



Замена на
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
<?php
$dbhost = "127.0.0.1";
$dbuser = "root";
$dbpass = "ascent";
$dbname = "wowscripts";

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

function encryptpw($user, $pass) {
$user = strtoupper($user);
$pass = strtoupper($user);
return sha1($user.':'.$pass);
}

$email = strtoupper($_POST['email']);
$expansion = $_POST['exp'];
$bnetindex = "1";


// Battlenet Password
$bnetpassword = strtoupper(bin2hex(strrev(hex2bin(strtoupper(hash("sha256",strtoupper(hash("sha256", strtoupper($email)).":".strtoupper($_POST['pass']))))))));

// Queries
if($insbnet = $conn->prepare("INSERT INTO battlenet_accounts (email, sha_pass_hash) VALUES (?, ?);")) {
$insbnet->bind_param("ss", $email, $bnetpassword);
$insbnet->execute();

$getid = $conn->prepare("SELECT id FROM battlenet_accounts WHERE email = ?");
$getid->bind_param("s", $email);
$getid->execute();
$getid->bind_result($id);
$getid->store_result();
if($getid->num_rows > 0) {
while($getid->fetch()) {
$bnetacc = $id;
$username = $id."#".$bnetindex;
$accpassword = encryptpw($username, $_POST['pass']);
}
}

if($insacc = $conn->prepare("INSERT INTO account (username, sha_pass_hash, email, expansion, battlenet_account, battlenet_index) VALUES (?, ?, ?, ?, ?, ?);")) {
$insacc->bind_param("sssiii", $username, $accpassword, $email, $expansion, $bnetacc, $bnetindex);
$insacc->execute();
}else{
echo $insacc->error;
}
}else{
echo $insbnet->error;
}



так как
$dbhost = "127.0.0.1";
$dbuser = "root";
$dbpass = "ascent";
$dbname = "wowscripts"; на эти данные ссылаются другие HPH
с верху кода на конфиг где уже есть эти данные include/путь к конфигу с конфигурацией подключения к БД
я удалил эти строки
после замены и удаления этих строк я проверил сайт нет ли ошибок при открытии страницы регистрации
ошибок в коде сайт не нашел страница открылась корректно но регистрация не проходит ну это и понятно что не проходит ведь код сам я и не правил.
Далее я пошел смотреть код и меня смущала название функции
Код: php
1.
2.
function encryptpw($user, $pass)
что значит encryptpw?? я так и не понял {


также я попробовал сменить в коде
Код: php
1.
2.
$user = strtoupper($user);
$pass = strtoupper($user);


User на username так как при регистрации именно так указанно pass на password но ничего у меня не вышло,
я понимаю только некоторые функции простые такие как From SELECT INSERT INTRO я в этом полный ноль можно сказать
хотелось бы разобраться как мне эту функцию заменить на ту что я нарыл на форумах чтоб она заработала
так же я попробовал просто закинуть эту регу в папку конфигов и пробовать чтоб туда на этот конфиг ссылалась регистрация
но так же никаких результатов мне это не дало так как похоже код написан под определенную регистрацию скорей всего и я просто не понимаю какие строки мне нужно заменить.
Я заранее извиняюсь если тут куча грамматических ошибок пишу в 2 ночи уже глаза слипаются.
Спасибо всем кто откликнулся на тему

полный код регистрации
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
<? include "trunk/lagranj/header.php"?> 
<? include "trunk/lagranj/top.php"?> 

<div class="lContent">
    
<div id="newsBlock">
				<h1> Перед регистрацией просьба ознакомиться с правилами сервера</h1>
				<div id="newsContainer">


							<div id="n1" class="news  opened" rel="news-1">
							
								<h2>Создание аккаунта</h2>
								<div align="center" class="newscontent" >								
								<table border="1"> 						
								<?
include "trunk/lagranj/config.php";
error_reporting (0);
$database_encoding = 'CP1251';
$tbc = 3;
$realmd = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db1", $realmd);

$world = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db2", $world);

$characters = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db3", $characters);
?>
<font color=#00CC00>  
</font> 
<center> 
 <form method=post action=reg.php onsubmit=\"return checkform(this)\">

    <th scope='col'><center>
<script type="text/javascript">  
function isAlphaNumeric(value)  
{  
   if (value.match(/^[a-zA-Z0-9_]+$/))  
     return true;  
   return false;  
}  
function checkform(f)  
{  
   if (f.account.value == "")  
   {  
     alert("Введите логин");  
     return false;  
   }  
   if (!isAlphaNumeric(f.account.value))  
   {  
     alert("Запрещенные символы в логине");  
     return false;  
   }  
   if (f.password.value=="")  
   {  
     alert("Введите пароль");  
     return false;  
   }  
   if (!isAlphaNumeric(f.password.value))  
   {  
     alert("Запрещенные символы в пароле");  
     return false;  
   }  
   if (f.password2.value=="")  
   {  
     alert("Введите повтор пароля");  
     return false;  
   }  
   if (f.password.value != f.password2.value)  
   {  
     alert("Пароли не совпадают!");  
     return false;  
   }  
   if (f.email.value=="")  
   {  
     alert("Вы не ввели e-mail");  
     return false;  

   }  
}  
</script> 
                  <table><tr>
				  <td><LABEL for=account>Имя Аккаунта:</LABEL></td><td><INPUT id=account style="WIDTH: 175px" tabIndex="1" maxLength="12" size="18" name="account"></td>
				  </tr><tr>
 <td><LABEL for=password>Пароль:</LABEL></td><td><INPUT id="password" style="WIDTH: 175px" tabIndex=2 type=password maxLength=12 size=18 name="password"></td>
 </tr><tr>
<td><LABEL for=password2>Повтор Пароля:</LABEL></td><td><INPUT id='password' style='WIDTH: 175px' tabIndex=2 type=password maxLength=12 size=18 name='password2'></td>
</tr><tr>
<td><LABEL for=email>E-mail:</LABEL></td><td><INPUT id=email style="WIDTH: 175px" tabIndex=2 maxLength=50 size=18 name=email></td>
</tr><tr></table>


<input type="submit" name="submit" value="Готово" />


</th>
<?
if (isset($_POST['account'])) {  
if ($_POST['account'] && strlen($_POST['account'])<=20 && strlen($_POST['account'])>=3 && strlen($_POST['password'])>=3 && $_POST['password'] && $_POST['password2'] && $_POST['password']==$_POST['password2']) {  
   if (!eregi("^[a-zA-Z0-9_]+$", $_POST['account']))  
     die ("<p>Error: SQL-Injection</p>");  
   if (!eregi("^[a-zA-Z0-9_]+$", $_POST['password']))  
     die ("<p>Error: SQL-Injection</p>");  
     $pass = ($_POST['password']);  
     $username = ($_POST['account']);  
     $result = mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."'", $realmd);  
     if (mysql_num_rows($result) != 0) {  
         echo "<center><p><font color=#CC0000><b>Такой аккаунт уже существует!</b></font></p></center>";  
     } else {  
         if (!mysql_query("INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass')) ), '".$_POST['email']."', $tbc)", $realmd)) {echo "<center><p><font color=#CC0000><b>Ошибка</b></font></p></center>";} else {echo "<center><p><font color=#00CC00><b>Аккаунт успешно зарегестрирован!</b></font></p></center>";}  
     }  
} else {  
     echo "<center><p><font color=#CC0000><b>Проверьте правильность ввода!</b></font></p></center>";  
}  
}  
?>
</table>


Я мог бы выложить сам сайт на яндекс если потребуется для полного понимания работы самого сайта.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996057
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkaider
я пробовал сперва без этого скрипта добавлять в таблицу battlenet_accounts вукциями

Код: php
1.
2.
if (!mysql_query("INSERT INTO battlenet_accounts ( email, sha_pass_hash) VALUES ( '".$_POST['email']."')
.........  (



но даже sha_pass_hash у меня работал либо некорректно либо выскакивали одни ошибки
Ошибки просто так не "выскакивают". За каждой ошибкой скрывается причина этой самой ошибки.
Для данного случая уместным было бы:
1. Сформировать текст запроса и сохранить его в переменной.
1а. Точка с запятой в конце запроса здесь не требуется.
2. Вывести текст запроса при помощи var_dump(), чтобы визуально оценить его корректность.
3. Если визуально не удалось найти ошибки в запросе, то использовать myaql_error() . Возможно, там будет что-то про несоответствие количества полей (два) и значений (одно). Конечно, если запрос в посте именно тот, как он был в проблемном коде.


авторчто значит encryptpw?? я так и не понялСамо слово "encryptpw"? Это просто название функции. Можете заменить на tralala или на другое слово, лишь бы оно соответствовало тербованиям к именам. Если задаете такие вопросы, то, вероятно, есть смысл почитать руководство по языку. Хотя бы, в части основ. Пользовательские функции .
Если же вопрос касается алгоритма шифрования, который реализует функция (и возвращаемого функцией значения), необходимого для используемого ПО, это есть смысл посмотреть в документации на это самое ПО.

Alkaider
также я попробовал сменить в коде
Код: php
1.
2.
$user = strtoupper($user);
$pass = strtoupper($user);



User на username
Опять таки, основы. Переменные внутри функции локализованы, если явно не указано обратное. Область видимости переменной .


Alkaider
хотелось бы разобраться как мне эту функцию заменить на ту что я нарыл на форумах
На форумах этой функцией, вернее, куском кода, решалась какая-то задача. Вполне возможно, что ТА задача в ТЕХ условиях была решена. Однако, можете ли Вы поручиться, что Ваша задача и Ваши условия (версии ПО, имена переменных и т.п.) абсолютно идентичны тем, что решались на форуме? Наверно, вряд ли. Значит, вероятно, придется адаптировать код под конкретные Ваши условия.
Вариантов для этого не слишком много:
1. Сделать самостоятельно (да, придется разбираться).
2. Нанять программиста (придется четко и недвусмысленно формулировать задачу), написав в раздел "Работа" и там же озвучить предполагаемый гонорар.

Вы выбрали вариант 1 - разобраться.
Вы пишите:
Alkaider
сам аккуант заносится в таблицу Navicat account
но не заносится в таблицу Battlenet_accounts

Стало быть, запись в одой таблице добавляется успешно. Только не понятно, к какому варианту он относится - к исходному, где mysql_query() или к тому, что получился после замены, с mysqli.

Между тем, куски кода, исходный и заменяющий заметно различаются.
Считайте количество полей в том и в другом случае:
Код: php
1.
2.
INSERT INTO account (username, sha_pass_hash, email, expansion)
INSERT INTO account (username, sha_pass_hash, email, expansion, battlenet_account, battlenet_index)

Косвенно это может указывать на различные структуры таблицы. Соответствует ли структура таблицы новому запросу? Отсюда это не видно.
Если же структура соответствует и все используемые в запросе переменные верны (не забываем проверить их при помощи var_dump()), тогда mysqli_error() Вам в помощь - читаем сообщение об ошибке.

PS: Вместо огорода для вычисления $id можно использовать mysqli_insert_id()
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996058
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вдогонку.
Код: php
1.
INSERT INTO battlenet_accounts (email, sha_pass_hash)

Ну тут мы тоже не видим, насколько соответствуют структура таблицы и запрос. Если соответствуют, а запрос выполняется, но вставка записи не идет - выводим сообщение об ошибке.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996153
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
[SRC PHP][/SRC]

INSERT INTO account (username, sha_pass_hash, email, expansion)
INSERT INTO account (username, sha_pass_hash, email, expansion, battlenet_account, battlenet_index)
Такие поля имеются для заполнения,
Они не просто имеются они должны заполнятся.

Аккуант регистрируется только с исходника, именно с оригинала
Отсутствует заполнения полей
battlenet_account и battlenet_index
А также таблицы battlenet_accounts
А так же сам shs_pass имеет кодировку не заглавными буквами.
При регистрации с консоли
Заполняются все поля таблицы account такие как
ID username email shapass battlenet_account battlenet_index
При всем при этом также регистрирует
Username в виде (3#1) (3 это ид в таблице battlenet_accounts (этого же аккуанта) (1это ондекс баттлнет он у всех 1)
При регистрации с сайта username заполняется ником при регистрации



Насколько я понял тут не все так просто
Взял вставил и погнали мне будет крайне сложно понять что делать если это все делать самому, я наверняка смогу понять принцип работы этого кода с моим сайтом если он уже будет рабочий, смогу увидеть общую картину но переделать я смотрю будет проблематично
И я понятия не имею сколько это может стоить
В условиях сделать на заказ может кто прикинуть цену?
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996155
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно ли прикладывать Т3 разработчику если заказывать такую услугу?. [/quot]
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996161
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://yadi.sk/d/35uka-6dCqT6sg
Эта ссылка та таблицу БД
Auth
Заливаем в навикат
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996364
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkaider
если это все делать самому, я наверняка смогу понять принцип работы
Разумеется! Мысль здравая.


Alkaider
И я понятия не имею сколько это может стоить
Ну вот Вам лень прочитать сообщение об ошибке выполнения запроса (и скопировать его сюда) на боевом сервере забесплатно.
А за 500 рублей Вы согласились бы это сделать? А за тысячу? А если ошибок будет более одной? ;)
Впрочем, вполне возможно, что кто-нибудь сделает за Вас работу даже забесплатно - кому оно интересно в плане наработки опыта.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996378
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,


Я о том что я мог бы понять принцип работы видя полный рабочий код! и то не весь потому как я не понимаю как работают некоторые функции я натыкался как то на функции возвращения (пошел читать чего еще они там возвращают, честно нифига я не понял как и из того что вы мне сказали сделать вписать в код функцию еррор еще какую-то функцию куда я ее вписать должен ? в конец кода? если буди по логике. в вторую? я незнаю куда их запихать в код, плохо понимаю где должны они стоять, а основное так вообще не понимаю, я думал вы мне пример приведете как делать чтоб я протестил, и запомнил что где ставится к примеру и где читается нет мне не лень, у меня уйдет много времени на изучение этих мануалов,

я два дня разбирался как мне просто вставить в таблицу battlenet_accounts просто пропостить емаил в эту таблицу.
понять принцип работы и написать его это разные вещи если я вижу
Код: html
1.
 mysql_connect("$host:$port", "$user", "$pass", True);


то естественно мне понятно что идет подключение к базам данных
так же как и
Код: php
1.
$expansion = $_POST['exp'];


или
Код: php
1.
INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass')) )


я понимаю что в этой функции идет перечисление таблиц и далее что вставить в эти таблицы, и то что все должно соответствовать порядку я тоже понимаю
но если мне дать код в разброс хотябы 4тех строк то я их уже не соберу так как они должны быть.
вот к чему я говорил.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996415
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну кто возьмётся ? хоть попробовать глянуть код с самим сайтом выложу ссылку.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996453
artas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkaider,

мало того что код так и просится на иньекцию, так вы не выкладываете ошибку, которая происходит на том инсерте
Alkaider
vkle,

Код: php
1.
INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass')) )


я понимаю что в этой функции идет перечисление таблиц и далее что вставить в эти таблицы, и то что все должно соответствовать порядку я тоже понимаю
но если мне дать код в разброс хотябы 4тех строк то я их уже не соберу так как они должны быть.
вот к чему я говорил.

там перечисление полей

Что выводит myaql_error ??? у вас половина вопросов отпадет, после выполнения этой функции, после неудачного интерта
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996492
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
artas,
У меня нет ошибок к этом коде он как был на этом сайте стандартный я его не менял он нормально регает но не то что мне нужно
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996495
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
https://docviewer.yandex.ru/view/1116777301/?*=PGJXmKITf2FdZMK98sZtNOT1wFh7InVybCI6InlhLWRpc2s6Ly8vZGlzay/RgNCw0LfRgNCw0LEuN3oiLCJ0aXRsZSI6ItGA0LDQt9GA0LDQsS43eiIsIm5vaWZyYW1lIjpmYWxzZSwidWlkIjoiMTExNjc3NzMwMSIsInRzIjoxNTk5NTU1NDg3MDQ5LCJ5dSI6IjkzODE5MTM1OTE1OTc1MDU4MjYifQ==

Вот архив с сайтом и базами Каму интересно если кто поможет там есть и скрипт на рекюгу которая мне нужна и заодно можешь посмотреть ни одной ошибки сайт не выдаёт при регистрации именно страница регистрации
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996531
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkaider
artas,
У меня нет ошибок к этом коде он как был на этом сайте стандартный я его не менял он нормально регает но не то что мне нужно
Другими словами, код явно не годится для решения задачи. Или нерабочий в контексте решаемой задачи.


Alkaider
я думал вы мне пример приведете как делать чтоб я протестил, и запомнил что где ставится к примеру и где читается нет мне не лень, у меня уйдет много времени на изучение этих мануалов,
Вот в этих самых мануалах есть примеры использования.


Alkaider
вы мне сказали сделать вписать в код функцию еррор еще какую-то функцию куда я ее вписать должен ?
Сразу после неудачного запроса. Пример, опять же, в мануале.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996627
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Очень боевой форум, попроси помощи тебя пошлют изучать чуть ли не целый язык яж говорю что я его не изучал и понимаю оч плохо мне помощь нужна была в примере от вас вы что не могли скопировать мою регистрацию вставить туда код тот что я послал и написать функции поторые я не понимаю, дальше бы можно было поговорить где там ошибка всплывает я тут я понял что. Общение идёт только с теми кто что-то понимает только если я понимал хотябы треть всей писанины кода сайта яб наверно сюда бы и не пришёл а реально пошёл бы доучивать остольную документацию ко всем переменным и так далее. Завтра я приду с другим вопросам мне ответят иди читай следующий мануал корочь ясно.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996636
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alkaider,

Это как знаешь отремонтируй мне движок, да ну иди ка мануал читай с начало потом поговорим.
Я если знаю что там 4 целиндра и 8 клапанов это не значит что прочитав мануал ты пойдёшь и соберёшь весь движок, мне хватит поверхностно понимать. А для чего тут ещё форум неуж никто не посмотрит в архиве сайт и не проверит будет работать скрипт который там лежит отдельно или нет а вы мне, тут иньекция там не то тут какие таблицы вот я вам архив дал посмотрите кто реально понимает и скажет может ли регистрация которая лежит отдельным фаилом reglegion работать с этим сайтом
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996642
Фотография peter64
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkaider,
неужели тяжело нагуглить вывод ошибки для mysql и php

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', 'john@example.com')";

if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996643
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне старый код который от основной реги не нужен зачем вы меня на него ссылаете
Вставить что-ли правильно не можете сами скрипт который я дал и вписать функции для вывода ошибок? Ва же тут как те-же ремонтнику сидите. А ниче не ремонтируете странно, конечно может и нет тут в теме ещё человека который хотел бы просто помочь и посмотреть.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996644
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
peter64,

Да мне несложно нагуглить мне не понятно как правильно вставить этот код скрипт регистрации 2 и можно ли вообще так делать!
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996648
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
peter64,

Спасибо большое что ты его туда вставил я сейчас его впояю в страницу регистрации и скажу что и как делал и почему по моему мнению именно так я решил его туда вставить
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996716
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну вот
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
<? include "trunk/lagranj/header.php"?> 
<? include "trunk/lagranj/top.php"?> 
<? include "trunk/lagranj/config.php"?> 

<div class="lContent">
    
<div id="newsBlock">
				<h1> Перед регистрацией просьба ознакомиться с правилами сервера</h1>
				<div id="newsContainer">


							<div id="n1" class="news  opened" rel="news-1">
							
								<h2>Создание аккаунта</h2>
								<div align="center" class="newscontent" >								
								<table border="1"> 						
								<?
error_reporting (0);
$database_encoding = 'CP1251';
$tbc = 3;
$realmd = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db1", $realmd);

$world = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db2", $world);

$characters = mysql_connect("$host:$port", "$user", "$pass", True);
mysql_selectdb("$db3", $characters);
?>
<font color=#00CC00>  
</font> 
<center> 
 <form method=post action=reg.php onsubmit=\"return checkform(this)\">

    <th scope='col'><center>
<script type="text/javascript">  
function isAlphaNumeric(value)  
{  
   if (value.match(/^[a-zA-Z0-9_]+$/))  
     return true;  
   return false;  
}  
function checkform(f)  
{  
   if (f.account.value == "")  
   {  
     alert("Введите логин");  
     return false;  
   }  
   if (!isAlphaNumeric(f.account.value))  
   {  
     alert("Запрещенные символы в логине");  
     return false;  
   }  
   if (f.password.value=="")  
   {  
     alert("Введите пароль");  
     return false;  
   }  
   if (!isAlphaNumeric(f.password.value))  
   {  
     alert("Запрещенные символы в пароле");  
     return false;  
   }  
   if (f.password2.value=="")  
   {  
     alert("Введите повтор пароля");  
     return false;  
   }  
   if (f.password.value != f.password2.value)  
   {  
     alert("Пароли не совпадают!");  
     return false;  
   }  
   if (f.email.value=="")  
   {  
     alert("Вы не ввели e-mail");  
     return false;  

   }  
}  
</script> 
                  <table><tr>
				  <td><LABEL for=account>Имя Аккаунта:</LABEL></td><td><INPUT id=account style="WIDTH: 175px" tabIndex="1" maxLength="12" size="18" name="account"></td>
				  </tr><tr>
 <td><LABEL for=password>Пароль:</LABEL></td><td><INPUT id="password" style="WIDTH: 175px" tabIndex=2 type=password maxLength=12 size=18 name="password"></td>
 </tr><tr>
<td><LABEL for=password2>Повтор Пароля:</LABEL></td><td><INPUT id='password' style='WIDTH: 175px' tabIndex=2 type=password maxLength=12 size=18 name='password2'></td>
</tr><tr>
<td><LABEL for=email>E-mail:</LABEL></td><td><INPUT id=email style="WIDTH: 175px" tabIndex=2 maxLength=50 size=18 name=email></td>
</tr><tr></table>


<input type="submit" name="submit" value="Готово" />


</th>
<?


$dbhost = "127.0.0.1";
$dbuser = "root";
$dbpass = "********";
$dbname = "auth";

$conn = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);

if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

function encryptpw($user, $pass) {
$user = strtoupper($user);
$pass = strtoupper($user);
return sha1($user.':'.$pass);
}

$email = strtoupper($_POST['email']);
$expansion = $_POST['exp'];
$bnetindex = "1";


// Battlenet Password
$bnetpassword = strtoupper(bin2hex(strrev(hex2bin(strtoupper(hash("sha256",strtoupper(hash("sha256", strtoupper($email)).":".strtoupper($_POST['pass']))))))));

// Queries
if($insbnet = $conn->prepare("INSERT INTO battlenet_accounts (email, sha_pass_hash) VALUES (?, ?);")) {
$insbnet->bind_param("ss", $email, $bnetpassword);
$insbnet->execute();

$getid = $conn->prepare("SELECT id FROM battlenet_accounts WHERE email = ?");
$getid->bind_param("s", $email);
$getid->execute();
$getid->bind_result($id);
$getid->store_result();
if($getid->num_rows > 0) {
while($getid->fetch()) {
$bnetacc = $id;
$username = $id."#".$bnetindex;
$accpassword = encryptpw($username, $_POST['pass']);
}
}

if($insacc = $conn->prepare("INSERT INTO account (username, sha_pass_hash, email, expansion, battlenet_account, battlenet_index) VALUES (?, ?, ?, ?, ?, ?);")) {
$insacc->bind_param("sssiii", $username, $accpassword, $email, $expansion, $bnetacc, $bnetindex);
$insacc->execute();
}else{
echo $insacc->error;
}
}else{
echo $insbnet->error;
}
echo "New record created successfully";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}

?>


ну ок вот мой код вставил ваши проверки на ошибки страницца открывается корректно по строкам ошибок не находит
при регистрации ничего просто не происходит как будто регистрация прошла нет ни ошибок ничего как в принцепе и в навикате ничего не появилось! мне кажется что если туда засунуть фенкцию с зеленой надписью что акк зарегистрирован так и будет светить но правда это будет лож.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996730
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkaider,

Код
Код: php
1.
echo $insacc->error;

ничего не выводит, правильно понимаю? А до него доходит исполнение кода?

Alkaider
в навикате ничего не появилось
Навикат - это таблица `account`, верно? Уточняю, ибо сложно без комментариев определить, где что, да и в портянках длиннючих постов найти не проще. Если так, тогда следует проверить версию, что prepare не отрабатывает.

Переделайте так:
Код: php
1.
2.
3.
4.
5.
6.
$insacc = $conn->prepare("INSERT INTO account (username, sha_pass_hash, email, expansion, battlenet_account, battlenet_index) VALUES (?, ?, ?, ?, ?, ?)");

var_dump($insacc, $conn->error); // покажите на форуме этот вывод

if($insacc) {
// и так далее




Alkaider
мне кажется что если туда засунуть фенкцию с зеленой надписью что акк зарегистрирован так и будет светить но правда это будет лож.
А какой смысл вводить пользователя в заблуждение?
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996736
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,
ДА верно в навикате есть таблица такая
вот так выглядит все
account
di =38
username =30#1 (30=это ид из battlenet_accounts) (1= battlenet_index=у всех пользователей 1 должен быть )
sha_pass_hash= FDB004338E63F3A70BB1F0537B1FAF9287A61988 (заполняется большими буквами(с сайта заполняется мелкими почему не понятно!)
sessionkey=(заполняется автоматически при коннекте к серверу)
email = ALKAIDER@ALKAIDER
reg_mail = ALKAIDER@ALKAIDER
joindate = 2020-09-07 19:54:48
last_ip = 127.0.0.1
last_attempt_ip= 127.0.0.1
expansion = 6
battlenet_accounts = 30 (ид аккуанта из battlenet_accounts)
battlenet_index= 1

таблица battlenet_accounts

id = 30
email = ALKAIDER@ALKAIDER
sha_pass_hash = 111ED0414A2E13AA4C49D6443F7D3054BB7A2368C47D25DDBE959648CAEBB8BA
joindate= 2020-09-07 19:54:48
30 ALKAIDER@ALKAIDER
ну это не вся таблица что с той что с другой стороны но дело в том что они не заполняются даже с консоли либо заполняются автоматически, так что смысла их перебирать нету

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

проблемы при регистрации на стоковом коде(страницы регистрации)
таблица account
1 нет заполнений полей таких как (battlenet_account=должен быть ид профиля из таблицы battlenet_accounts) (battlenet_index=по умолчанию у всех 1)
2 некорректное заполнение столбца username=usrrname (правильное заполнение 2#1 (2=battlenet_accounts id)(1=battlenet_index по умолчанию у всех пользователей 1)
3 некорректное заполнение таблицы Expansion=должно быть у всех 6)
4 некорректное заполнение sha_pass_hash заполняет мелкими буквами(с консоли через команду заполняется большими буквами типа(111ED0414A2E13AA4)не полный sha)
5 не создает в таблице battlenet_accounts совсем ничего!

а теперьс кодом
Код: php
1.
2.
3.
4.
5.
6.
7.
if($insacc = $conn->prepare("INSERT INTO account (username, sha_pass_hash, email, expansion, battlenet_account, battlenet_index) VALUES (?, ?, ?, ?, ?, ?)"); (строка 144)
var_dump($insacc, $conn->error); // покажите на форуме этот вывод
if($insacc) {
$insacc->bind_param("sssiii", $username, $accpassword, $email, $expansion, $bnetacc, $bnetindex);
$insacc->execute();
}else{
echo $insacc->error;



при нажатии на вкладку регистрации ошибка страницы
Parse error: syntax error, unexpected ';' in P:\home\127.0.0.1\www\reg.php on line 144 (тобиш какраз тот самый код который вы мне дали (он у меня в конце функуии открывался после
Код: php
1.
battlenet_index) VALUES (?, ?, ?, ?, ?, ?)"); стояла {

но пробовал и со скобкой и без скобки. говорит ошибка в строке.
...
Рейтинг: 0 / 0
Регистрация через сайт Server Legion WOW
    #39996737
Alkaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вы убрали похоже как я посмотрю просто скобку с добавлением функции почему не открывается страница?
я вообще сомневаюсь что тут есть какая-то ошибка,

иногда при редактировании кода пальцем в небо у меня не открывалась страница с ошибкой в строке где в принципе не может
быль ошибли либо пустая строка либо вообще просто другой блок с правилами там и таму подобное.


могу дать доступ к теам вивер если у вас есть сейчас время сами увидите ))!
только напишите в https://vk.com/ronin2307 если на то пойдет.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Регистрация через сайт Server Legion WOW
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]