Рейтинг темы:
  • 2 Голос(ов) - 5 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Веб обвязка от команды ZG-Team V2.0
#31
Прошу дать нормальный ответ с разъяснениями
Ответ
#32
Renhor Написал:Прошу дать нормальный ответ с разъяснениями

Кароче, я буду краток, виложи содержимое файла регистрации ( с расширением .php - если кто не знал Big Grin ) сюда, я посмотрю и отредагирую...
Ответ
#33
Ответ
#34
Скрипт:
PHP код:
<?php  
include "config.php";
$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);

echo
"
<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>"
;

echo
"
<center><font size=3>Регистрация</font></center>
<font color=#00CC00>
</font><br>
<br>
<center>
<form method=post action=reg.php onsubmit=\"return checkform(this)\">
<table>

<tr>
<td><font color=white>*</font> Логин:</td>
<td><input type=text name=account maxlength=20></td>
</tr>

<tr>
<td><font color=white>*</font> Пароль:</td>
<td><input type=password name=password maxlength=20></td>
</tr>
<tr>
<td><font color=white>*</font> Повторите пароль:</td>
<td><input type=password name=password2 maxlength=20></td>
</tr>
<tr>
<td><font color=white>*</font> E-mail:</td>
<td><input type=text name=email maxlength=32></td>
</tr>
<tr>
<td colspan=2 style=\"text-align: center;\"><br><input type=submit value=Зарегистрироваться></td>
</tr>
</table>
</form></center>"
;

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']."' AND sha_pass_hash='$pass'", $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, gmlevel, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass'))), 0, '".$_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 код:
<?php
//==========================Регистрация====================
$db1 = "realmd"; /**Название базы realmd**/
$db2 = "mangos"; /**Название базы mangos**/
$db3 = "characters"; /**Название базы characters**/
$host = "localhost"; /**Адрес БД, по дефолту localhost**/
$user = "root"; /**Логин к БД**/
$pass = "mangos"; /**Пароль к БД**/
$port = "3306"; /**Порт к БД**/
$database_encoding="utf8_general_ci"; /**Кодировка БД**/
?>
Работает отлично.
Ответ
#35
Цитата:$database_encoding="utf8_general_ci"; //нетрогать
ёмаё.. бывает такое.
Ответ
#36
И откуда интересно тогда ошибка??? Я все раз 5-6 перепроверил все конфиги. Не у одного меня такая ошибка
Ответ
#37
Renhor Написал:И откуда интересно тогда ошибка??? Я все раз 5-6 перепроверил все конфиги. Не у одного меня такая ошибка

С БД ничего не делал? Может какаято таблица ( именно по регистрации ) не работает правильно, попробуй оптимизировать ее...
Ответ
#38
Renhor, не у одного вас, а у кого еще? Сравните запросы со структурой таблиц, где-то там загвоздка.

PuShKinG, запрос на проверку существующего аккаунта не верен:

PHP код:
<?php 
$result
= mysql_query("SELECT * FROM account WHERE username='".$_POST['account']."' AND sha_pass_hash='$pass'", $realmd);

Потому как нужно проверять только username, а здесь проверка и пароля.
Ответ
#39
PHP код:
<?php 
if (!mysql_query("INSERT INTO account (username, sha_pass_hash, email, expansion) VALUES ('$username', SHA1(CONCAT(UPPER('$username'),':',UPPER('$pass'))), 0, '".$_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>";}
Вот ето отвечает за вивод ОШИБКА, что здесб не ладненько....
Ответ
#40
PROGRAMMATOR Написал:Renhor, не у одного вас, а у кого еще? Сравните запросы со структурой таблиц, где-то там загвоздка.
У меня тоже,при чем у меня была более старая версия этого сайта и все работало нормально,но после того,как я отключил сайт и сервер,а затем,спустя время вновь взялся за это (вчера) регистрация выдавала ошибку.
Быть может это вовсе не ошибки в коде,а я не все везде настроил правильно?Хотя нет,вроде бы все правильно. (но я не вебмастер)
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Обвязка под World of WarCraft Antig 3 4,723 04-11-2013, 12:10 PM
Последний пост: The Horde
  что за обвязка? maa 4 3,648 06-17-2010, 07:19 PM
Последний пост: Legion
  Веб обвязка от команды ZG-Team PuShKinG 51 27,122 03-01-2010, 08:31 PM
Последний пост: Timka
  Веб обвязка. PuShKinG 9 5,064 02-18-2010, 05:58 PM
Последний пост: Spaunii
  web обвязка для 3.2.2 StASKoNet 3 3,669 12-19-2009, 11:31 PM
Последний пост: StASKoNet
  Web обвязка Wrath of the Lich King PROGRAMMATOR 2 4,442 06-11-2009, 03:49 PM
Последний пост: PuShKinG
  Веб обвязка Falgern CMS для ArcEmu Zone-Game 0 3,968 02-16-2009, 05:27 PM
Последний пост: Zone-Game
  Веб обвязка Wrath of the Lich King PROGRAMMATOR 19 9,670 11-07-2008, 10:09 PM
Последний пост: Longbow

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)