Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Web обвязка/Прошу Помощи... Ошибка В Скрипте
Search

Прошу Помощи... Ошибка В Скрипте

13 replies144 viewsCurrently viewing: 1
S
sanek100

Author

Новичок

Posts: 7

На форуме с: 04/09/2008

Репутация: +4

Рейтинг: 0

· 06/11/2008, 11:55 AM

Всем привет!
Вообщет такая проблема есть у меня вот такой скрипт :

Цитата
<?php
if(empty($mw))
{
header ("Location: ..");
exit;
}
?>
<center><h4>Ваш личный кабинет</H4><hr>
| <a href="index.php?id=sexchange">Сменить пол</a>
| <a href="index.php?id=classchange">Сменить класс</a> |
<br><hr><br><br>выберите действие которое вы хотите выполнить.<br><br>
</center><br><br>
<?php
$submit = isset($HTTP_POST_VARS['submit'])?$HTTP_POST_VARS['submit']:false;
if ($submit)
{
$link = mysql_connect($L2JBS_config['mysql_host'].":".$L2JBS_config['mysql_port'], $L2JBS_config['mysql_login'], $L2JBS_config['mysql_password']);
if (!$link)
die("Нет конекта с базой MySQL");
@mysql_select_db($L2JBS_config['mysql_db'], $link)
or die ('Error '.mysql_errno().': '.mysql_error());
$oldnick = $HTTP_POST_VARS['oldnick'];
$class_id = $HTTP_POST_VARS['class_id'];
$classid = $HTTP_POST_VARS['classid'];
$level = $HTTP_POST_VARS['level'];
$acc_name = $HTTP_POST_VARS['acc_name'];
$pass = $HTTP_POST_VARS['pass'];
$sql = "SELECT * FROM `accounts` WHERE `login` = '$acc_name'";
$res = mysql_query($sql);
$account = mysql_fetch_array($res);
if ($account['password'] != base64_encode(pack('H*',sha1(utf8_encode($pass))))) {die('Неверный пароль<br><br><a href="index.php?id=classchange">Назад</a>');}


$res = mysql_query("SELECT `char_name` FROM `characters` WHERE `char_name` = '$oldnick'");
if (!@mysql_num_rows($res)) {die('У Вас нет такого персонажа<br><br><a href="index.php?id=classchange">Назад</a>');}


$res = mysql_query("SELECT `base_class` FROM `characters` WHERE `char_name` = '$base_class'");
if (@mysql_num_rows($res)) {die('Перс с таким именем уже есть<br><br><a href="index.php?id=classchange">Назад</a>');}


$sql = "SELECT `account_name`,`charId`,`online` FROM `characters` WHERE `char_name` = '$oldnick'";
$res = mysql_query($sql);
$nick = mysql_fetch_array($res);
if ($account['login'] != $nick['account_name']) {die('Этот чар Вам не пренадлежит.<br><br><a href="index.php?id=classchange">Назад</a>');}



$sql = "SELECT `owner_id`,`object_id`,`item_id`,`count` FROM `items` WHERE `item_id` = 57 AND `owner_id` = ${nick['charId']}";
$res = mysql_query($sql);
$money = mysql_fetch_array($res);
if ($money['count'] < $price3) {die('Нехватает денег на счету<br><br><a href="index.php?id=classchange">Назад</a>');}


if ($nick['online']) {die('Для этой операции Вам нужно выйти из игры<br><br><a href="index.php?id=classchange">Назад</a>');}
$tmp = $money['count'] - $price3;
mysql_query("UPDATE `items` SET `count` = $tmp WHERE `item_id` = 57 AND `owner_id` = ${nick['charId']}");
mysql_query("UPDATE `characters` SET `classid` = '$classid',`level` = 1,`sp` = 0,`exp` = 0 WHERE `charId` = ${nick['charId']}");
mysql_query("UPDATE `character_subclasses` SET `class_id` = '$class_id',`level` = 1,`sp` = 0,`exp` = 0 WHERE `charId` = ${nick['charId']}") <--- нужно чтобы это таблица обновлялась...
?>Класс вашего перса изменен<br><br><br><a href="index.php?id=classchange">Назад</a> <?php
}
else
{
?>
<script language=javascript>
function isAlphaNumeric(value)
{
if (value.match(/^[a-zA-Z0-9]+$/))
return true;
else
return false;
}
function checkform(frm)
{
if (frm.acc_name.value=="")
{
alert("Введите аккаунт");
return false;
}
if (!isAlphaNumeric(frm.acc_name.value))
{
alert("Аккаунт должен состоять из английских букв и/или цифр!");
return false;
}
if (frm.newnick.value=="")
{
alert("Введите аккаунт");
return false;
}
if (!isAlphaNumeric(frm.newnick.value))
{
alert("Аккаунт должен состоять из английских букв и/или цифр!");
return false;
}
if (frm.pass.value=="")
{
alert("Введите пароль");
return false;
}
if (!isAlphaNumeric(frm.pass.value))
{
alert("Пароль должен состоять из английских букв и/или цифр!");
return false;
}
return true;
}
</script><br><br>

Здесь Вы имеете возможность сменить класс за адены.<br><br> Текущая цена: <? echo $price3; ?> aden.<br><br>


<form action=index.php?id=classchange method=post onsubmit="return checkform(this)">
<table cellpadding=2 cellspacing=2>
<tr><td>Имя аккаунта<td><input name=acc_name>
<tr><td>Пароль<td><input name=pass type=password>
<tr><td>Ник перса<td><input name=oldnick>
<tr><td>Выберете класс<td>


Орг воин<INPUT type=radio value="44" name=classid value="44" name=class_id maxlength="15"> <--- при таком параметре чтобы заносились данный в одну таблицу столбик classid значение 44 , а в другую таблицу столбик class_id значение тоже 44


<tr><td colspan=2><input type=submit name=submit value="Сменить класс">
</table></form>
<?php
}
?>

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/11/2008, 12:42 PM

Ничего не понимаю.
Выложи еще раз скрипт со своими модификациями которые внес, и выдели их жирным цветом.
Затем объясни более подробно суть и принцип работы твоих модификаци, и в чем заключается неработоспособность?

— &#197;lderdom - ingen gl&#228;dje..

0
S
sanek100

Author

Новичок

Posts: 7

На форуме с: 04/09/2008

Репутация: +4

Рейтинг: 0

· 06/11/2008, 01:00 PM

исправил

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/11/2008, 01:01 PM

Так, а в чем сама проблема? Запись не добавляется в таблицу? Есть-ли ошибки? Отключен-ли error_reporting?

Ээ..так вот еще, что за фокус? Две переменных с практически одинаковыми именами..? В чем разница

Цитата
$class_id = $HTTP_POST_VARS['class_id'];
$classid = $HTTP_POST_VARS['classid'];

— &#197;lderdom - ingen gl&#228;dje..

0
S
sanek100

Author

Новичок

Posts: 7

На форуме с: 04/09/2008

Репутация: +4

Рейтинг: 0

· 06/11/2008, 01:15 PM

Цитата
$class_id = $HTTP_POST_VARS['class_id'];<-- столбик таблицы character_subclasses
$classid = $HTTP_POST_VARS['classid'];<--столбик таблицы characters

проблема в том , что когда я нажимаю на орк воин и нажимаю Сменить класс , изменения вносятся только в таблицу characters , а в character_subclasses ничего не вноситься

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/11/2008, 01:30 PM

Почему-бы не использовать одну переменную для всего?
Или в крайнем случае 2ой переменной присвоить ссылку на первую.
Я просто не вижу где идет заполнение перменной $classid?
$class_id вижу, внизу радио-боксы, а вот первая...в чем различия-то =\

Можно на крайний случай sql запрос запихнуть руками в sql клиент для проверки, предварительно заменив переменные на текст и прочее.

— &#197;lderdom - ingen gl&#228;dje..

0
S
sanek100

Author

Новичок

Posts: 7

На форуме с: 04/09/2008

Репутация: +4

Рейтинг: 0

· 06/11/2008, 01:47 PM

спасибо, заработало:))
только вот еще есть один вопросик:) можно ли как-то через этот же скрипт сделать , чтобы из стобика charId таблицы characters вносились данный в столбик charId таблицы character_subclasses???

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/11/2008, 01:50 PM

Имеешь ввиду добавление (insert) записи, а не обновление (update)?
Если да то прийдеца сделать еще несколько проверок, чтобы небыло дублей в сабклассах.

— &#197;lderdom - ingen gl&#228;dje..

0
S
sanek100

Author

Новичок

Posts: 7

На форуме с: 04/09/2008

Репутация: +4

Рейтинг: 0

· 06/11/2008, 01:56 PM

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

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/11/2008, 02:02 PM

Можно, с sql синтаксом знаком? Сможешь сам накатать запрос аля insert into character_subclasses ('...','...') values ('...','...').....
Или в чем у тебя проблема? Не можешь получить charid или что.

— &#197;lderdom - ingen gl&#228;dje..

0
S
sanek100

Author

Новичок

Posts: 7

На форуме с: 04/09/2008

Репутация: +4

Рейтинг: 0

· 06/11/2008, 02:03 PM

проблема в том что я в этом не особо понимаю:) самоучка:))) экспериментатор:)

0
AbsT
AbsT

User

Ветеран

Posts: 1514

На форуме с: 12/10/2007

Репутация: +768

Рейтинг: 0

· 06/11/2008, 02:11 PM

Я тут не могу помочь, под рукой у меня нету серверов, вебсерверов.
Негде ничего проверить и сделать. Так что извеняй )

— &#197;lderdom - ingen gl&#228;dje..

0
S
sanek100

Author

Новичок

Posts: 7

На форуме с: 04/09/2008

Репутация: +4

Рейтинг: 0

· 06/11/2008, 02:17 PM

да это я сам проверю:) мне бы только начало:)) а дальше как нибудь так:)

0
Topic is closed for replies