Проблема с регистрацией на сервере
3 replies57 viewsCurrently viewing: 1
· 02/23/2010, 01:37 AM
Вообщем суть проблемы такая.
Есть скрипт регистрации, вот код:
файл reg.php
Раскрывающийся текст
Код
<?php
include("config.php");
// Настройка скрипта
$savedata = "true"; //Сохранять или нет пользовательские данные, пароль логин, icq , email. По умолчанию включено.
// Начало скрипта
$fsname = $_SERVER['SCRIPT_NAME'];
$msconn = mysql_connect($dbhost.":".$dbport, $dbuser, $dbpass) or die ("Мир погружен во тьму");
MYSQL_SELECT_DB($dbname) or die ("Мир погружен во тьму");
if ($_GET[act]==""){
echo ('<center><a href="'.$fsname.'?act=registration&step=1">Присоедениться</a></center>');
}
if ($_GET[act]=="registration"){
if ($_GET[step]=="1"){
echo ('<form name="form1" method="post" action="'.$fsname.'?act=registration&step=2">
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="105" align="right">Логин</td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль</td>
<td><label>
<input name="pass" type="password" id="pass">
</label></td>
</tr>
<tr>
<td align="right">Повтор</td>
<td><label>
<input name="repeat" type="password" id="repeat">
</label></td>
</tr>
<tr>
<td align="right">ICQ</td>
<td><label>
<input name="icq" type="text" id="icq">
</label></td>
</tr>
<tr>
<td align="right">E-mail</td>
<td><label>
<input name="email" type="text" id="email">
</label></td>
</tr>
<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
<input type="submit" name="Submit" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>
<p> </p>
');
}
if ($_GET[step]=="2"){
$login = $_POST[login];
$pass = $_POST[pass];
$pass2 = $_POST[repeat];
$icq = $_POST[icq];
$email = $_POST[email];
if ($login == "") {
echo ("<center>Вы не ввели логин</center>");
}else{
if ($pass == "") {
echo ("<center>Пароль не может быть пустым</center>");
}else{
if ($pass == $pass2) {
$q = mysql_query("SELECT * FROM accounts WHERE login='{$login}'");
if(!mysql_numrows($q) > "0") {
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));
mysql_query("INSERT INTO accounts(login, password, lastactive, access_level) VALUES('$login' , '$gamepass', '$lastactive', '0')");
if ($savedata == "true") {
mysql_query("INSERT INTO account_info(login, password, icq, email) VALUES('$login' , '$pass', '$icq', '$email')");
}
echo ("<center>Аккаунт <font color='red'>".$login."</font> успешно зарегистрирован</center>");
} else {
echo ("<center>Имя <font color='red'>".$login."</font> уже зарегистрировано, попробуйте другое.</center>");
}
}else {
echo ("<center>Пароли не совпадают</center>");
}
}
}
}
}
?>
include("config.php");
// Настройка скрипта
$savedata = "true"; //Сохранять или нет пользовательские данные, пароль логин, icq , email. По умолчанию включено.
// Начало скрипта
$fsname = $_SERVER['SCRIPT_NAME'];
$msconn = mysql_connect($dbhost.":".$dbport, $dbuser, $dbpass) or die ("Мир погружен во тьму");
MYSQL_SELECT_DB($dbname) or die ("Мир погружен во тьму");
if ($_GET[act]==""){
echo ('<center><a href="'.$fsname.'?act=registration&step=1">Присоедениться</a></center>');
}
if ($_GET[act]=="registration"){
if ($_GET[step]=="1"){
echo ('<form name="form1" method="post" action="'.$fsname.'?act=registration&step=2">
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="105" align="right">Логин</td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль</td>
<td><label>
<input name="pass" type="password" id="pass">
</label></td>
</tr>
<tr>
<td align="right">Повтор</td>
<td><label>
<input name="repeat" type="password" id="repeat">
</label></td>
</tr>
<tr>
<td align="right">ICQ</td>
<td><label>
<input name="icq" type="text" id="icq">
</label></td>
</tr>
<tr>
<td align="right">E-mail</td>
<td><label>
<input name="email" type="text" id="email">
</label></td>
</tr>
<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
<input type="submit" name="Submit" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>
<p> </p>
');
}
if ($_GET[step]=="2"){
$login = $_POST[login];
$pass = $_POST[pass];
$pass2 = $_POST[repeat];
$icq = $_POST[icq];
$email = $_POST[email];
if ($login == "") {
echo ("<center>Вы не ввели логин</center>");
}else{
if ($pass == "") {
echo ("<center>Пароль не может быть пустым</center>");
}else{
if ($pass == $pass2) {
$q = mysql_query("SELECT * FROM accounts WHERE login='{$login}'");
if(!mysql_numrows($q) > "0") {
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));
mysql_query("INSERT INTO accounts(login, password, lastactive, access_level) VALUES('$login' , '$gamepass', '$lastactive', '0')");
if ($savedata == "true") {
mysql_query("INSERT INTO account_info(login, password, icq, email) VALUES('$login' , '$pass', '$icq', '$email')");
}
echo ("<center>Аккаунт <font color='red'>".$login."</font> успешно зарегистрирован</center>");
} else {
echo ("<center>Имя <font color='red'>".$login."</font> уже зарегистрировано, попробуйте другое.</center>");
}
}else {
echo ("<center>Пароли не совпадают</center>");
}
}
}
}
}
?>
Файл config.php
Раскрывающийся текст
Код
<?php
$dbuser = "root";
$dbpass = "**********";
$dbhost = "ip машины с базой";
$dbname = "l2jdb";
$dbport= 3306;
?>
$dbuser = "root";
$dbpass = "**********";
$dbhost = "ip машины с базой";
$dbname = "l2jdb";
$dbport= 3306;
?>
проблема в том что при создании аккаунта на сайте все без ошибок и написано что "аккаунт успешно зарегестрирован"
В это же время в базе аккаунта нет. так же логин сервер на создание аккаунта не реагирует.
вот структура accounts.sql:
Раскрывающийся текст
Код
-- ---------------------------
-- Table structure for accounts
-- ---------------------------
CREATE TABLE IF NOT EXISTS `accounts` (
`login` VARCHAR(45) NOT NULL default '',
`password` VARCHAR(45) ,
`lastactive` DECIMAL(20),
`access_level` INT,
`lastIP` VARCHAR(20),
`lastServer` int(4) default 1,
`IPBlock` BOOL DEFAULT '0',
PRIMARY KEY (`login`)
);
-- Table structure for accounts
-- ---------------------------
CREATE TABLE IF NOT EXISTS `accounts` (
`login` VARCHAR(45) NOT NULL default '',
`password` VARCHAR(45) ,
`lastactive` DECIMAL(20),
`access_level` INT,
`lastIP` VARCHAR(20),
`lastServer` int(4) default 1,
`IPBlock` BOOL DEFAULT '0',
PRIMARY KEY (`login`)
);
Огромная просьба помочь. пробывал другие скрипты регистрации, менеджеры аккаунтов, тоже самое. акк не создается
0
· 02/23/2010, 03:50 AM
Вот этот же скрипт, только под тебя измененённый:
файл reg.php
Раскрывающийся текст
Код
<?php
include("config.php");
// Настройка скрипта
$savedata = "true"; //Сохранять или нет пользовательские данные, пароль логин, icq , email. По умолчанию включено.
// Начало скрипта
$fsname = $_SERVER['SCRIPT_NAME'];
$msconn = mysql_connect($dbhost.":".$dbport, $dbuser, $dbpass) or die ("Мир погружен во тьму");
MYSQL_SELECT_DB($dbname) or die ("Мир погружен во тьму");
if ($_GET[act]==""){
echo ('<center><a href="'.$fsname.'?act=registration&step=1">Присоедениться</a></center>');
}
if ($_GET[act]=="registration"){
if ($_GET[step]=="1"){
echo ('<form name="form1" method="post" action="'.$fsname.'?act=registration&step=2">
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="105" align="right">Логин</td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль</td>
<td><label>
<input name="pass" type="password" id="pass">
</label></td>
</tr>
<tr>
<td align="right">Повтор</td>
<td><label>
<input name="repeat" type="password" id="repeat">
</label></td>
</tr>
<tr>
<td align="right">ICQ</td>
<td><label>
<input name="icq" type="text" id="icq">
</label></td>
</tr>
<tr>
<td align="right">E-mail</td>
<td><label>
<input name="email" type="text" id="email">
</label></td>
</tr>
<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
<input type="submit" name="Submit" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>
<p> </p>
');
}
if ($_GET[step]=="2")
{
$login = $_POST[login];
$pass = $_POST[pass];
$pass2 = $_POST[repeat];
$icq = $_POST[icq];
$email = $_POST[email];
if ($login == "")
{
echo ("<center>Вы не ввели логин</center>");
}
else
{
if ($pass == "")
{
echo ("<center>Пароль не может быть пустым</center>");
}
else
{
if ($pass == $pass2)
{
$q = mysql_query("SELECT * FROM accounts WHERE login='{$login}'");
if(!mysql_numrows($q) > "0")
{
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));
$SQL = mysql_query("INSERT INTO accounts(login, password, lastactive, access_level, lastIP, lastServer, IPBlock) VALUES('$login' , '$gamepass', '$lastactive', '0', '127.0.0.1', '1', '1')");
if ($SQL)
{
echo ("<center>Аккаунт <font color='red'>".$login."</font> успешно зарегистрирован</center>");
}
else
{
echo ("<center>Возникла внутренняя ошибка. Обратитесь к Администрации</center>");
}
}
else
{
echo ("<center>Имя <font color='red'>".$login."</font> уже зарегистрировано, попробуйте другое.</center>");
}
}
else
{
echo ("<center>Пароли не совпадают</center>");
}
}
}
}
}
?>
include("config.php");
// Настройка скрипта
$savedata = "true"; //Сохранять или нет пользовательские данные, пароль логин, icq , email. По умолчанию включено.
// Начало скрипта
$fsname = $_SERVER['SCRIPT_NAME'];
$msconn = mysql_connect($dbhost.":".$dbport, $dbuser, $dbpass) or die ("Мир погружен во тьму");
MYSQL_SELECT_DB($dbname) or die ("Мир погружен во тьму");
if ($_GET[act]==""){
echo ('<center><a href="'.$fsname.'?act=registration&step=1">Присоедениться</a></center>');
}
if ($_GET[act]=="registration"){
if ($_GET[step]=="1"){
echo ('<form name="form1" method="post" action="'.$fsname.'?act=registration&step=2">
<div align="center">
<table width="266" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="105" align="right">Логин</td>
<td width="161"><label>
<input name="login" type="text" id="login">
</label></td>
</tr>
<tr>
<td align="right">Пароль</td>
<td><label>
<input name="pass" type="password" id="pass">
</label></td>
</tr>
<tr>
<td align="right">Повтор</td>
<td><label>
<input name="repeat" type="password" id="repeat">
</label></td>
</tr>
<tr>
<td align="right">ICQ</td>
<td><label>
<input name="icq" type="text" id="icq">
</label></td>
</tr>
<tr>
<td align="right">E-mail</td>
<td><label>
<input name="email" type="text" id="email">
</label></td>
</tr>
<tr>
<td align="right"><label>
<input type="reset" name="Submit2" value="Сброс">
</label></td>
<td align="center"><label>
<input type="submit" name="Submit" value="Регистрация">
</label></td>
</tr>
</table>
</div>
</form>
<p> </p>
');
}
if ($_GET[step]=="2")
{
$login = $_POST[login];
$pass = $_POST[pass];
$pass2 = $_POST[repeat];
$icq = $_POST[icq];
$email = $_POST[email];
if ($login == "")
{
echo ("<center>Вы не ввели логин</center>");
}
else
{
if ($pass == "")
{
echo ("<center>Пароль не может быть пустым</center>");
}
else
{
if ($pass == $pass2)
{
$q = mysql_query("SELECT * FROM accounts WHERE login='{$login}'");
if(!mysql_numrows($q) > "0")
{
$gamepass = base64_encode(pack("H*", sha1(utf8_encode($pass))));
$SQL = mysql_query("INSERT INTO accounts(login, password, lastactive, access_level, lastIP, lastServer, IPBlock) VALUES('$login' , '$gamepass', '$lastactive', '0', '127.0.0.1', '1', '1')");
if ($SQL)
{
echo ("<center>Аккаунт <font color='red'>".$login."</font> успешно зарегистрирован</center>");
}
else
{
echo ("<center>Возникла внутренняя ошибка. Обратитесь к Администрации</center>");
}
}
else
{
echo ("<center>Имя <font color='red'>".$login."</font> уже зарегистрировано, попробуйте другое.</center>");
}
}
else
{
echo ("<center>Пароли не совпадают</center>");
}
}
}
}
}
?>
файл config.php остаётся таким же
И если запрос не будет выполнен, то ошибку выдаст.
0
Войдите или зарегистрируйтесь чтобы ответить

