Помощь по скриптам | Нужна помощь банда
Тема закрыта by
mc_teken
Причина: Спасибо Дружище ZnTor.
Причина: Спасибо Дружище ZnTor.
Вот код момогите что тут не так
<?php
$t_title="Банк клана!";
$set['title']="$t_title";
include_once H.'sys/inc/thead.php';
title();
// Массив наименований режимов
$arr_rejim = array(
"0"=>"Баллы с банка на личный счет",
"1"=>"Твиксы с банка на личный счет",
"2"=>"Баллы с личного счета в банк",
"3"=>"Твиксы с личного счета в банк"
);
// массив значения по умолчанию
$arr_fix=array(
"0"=>$klan['bank'],
"1"=>$klan['twix'],
"2"=>$user['balls'],
"3"=>$user['money']
);
if (isset($_GET['mode']))
{
$mode=intval($_GET['mode']);
if (!isset($arr_rejim[$mode])) //$arr_rejim
{
mset_err("Недопустимая операция! ");
header("Location: ?l=bank");exit;
}
// Обработка перевода
if (isset($_POST['perevod']))
{
$errors='';
if ($mode==0 or $mode==2) // Операции с баллами
{
$summ=abs(intval($_POST['kol']));
}else{ // Операции с твиксами
$summ=abs(floatval($_POST['kol']));
}
if ($summ==0) $errors.="Количество переводимых средств не должно быть равно нулю! ";
//
#echo "\$mode=$mode";
switch ($mode)
{
case 0: #Баллы с банка на личный счет
{
if ($summ>$klan['bank']) $errors.="Для перевода недостаточно баллов в банке! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `bank`=(`bank`-$summ) WHERE `admin` = '$user[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `balls`=(`balls`+$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ баллов с банка на личный счет");
//
$pol_arr=array("0"=>"сняла","1"=>"снял");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." на личный счет из банка $summ баллов! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
//
}else {mset_err("Нет прав для снятия со счета! ");}
}
break;
}
case 1: #Твиксы с банка на личный счет
{
if ($summ>$klan['twix']) $errors.="Для перевода недостаточно $sMonet[0] в банке! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `twix`=(`twix`-$summ) WHERE `admin` = '$user[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `money`=(`money`+$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ $sMonet[0] с банка на личный счет");
$pol_arr=array("0"=>"сняла","1"=>"снял");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." на личный счет из банка $summ $sMonet[0]! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
}else{mset_err("Нет прав для снятия со счета! ");}
}
break;
}
case 2: #Баллы с личного счета в банк
{
if ($summ>$user['balls']) $errors.="Для перевода недостаточно баллов на личном счете! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `bank`=(`bank`+$summ) WHERE `id` = '$klan[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `balls`=(`balls`-$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ баллов с личного счета в банк! ");
$pol_arr=array("0"=>"вложила","1"=>"вложил");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." в банк клана $summ баллов! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
}
}
break;
}
case 3: #Твиксы с личного счета в банк
{
#echo " процедура перевода ";
if ($summ>$user['money']) $errors.="Для перевода недостаточно $sMonet[0] на личном счете! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `twix`=(`twix`+$summ) WHERE `id` = '$klan[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `money`=(`money`-$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ $sMonet[0] с личного счета в банк! ");
$pol_arr=array("0"=>"вложила","1"=>"вложил");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." в банк клана $summ $sMonet[0]! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
}
}
break;
}
}
if ($errors) mset_err($errors);
header("Location: ?l=bank");exit;
#echo $errors;
}
//
echo "<div class='title'> Перевести ".$arr_rejim[$mode]."</div>";
echo "<div class='gmenu'>";
// Форма ввода количества
echo "<form action='' method='post'>";
#echo "<input type='hidden' name='$mode' value='перевод' />";
echo "<input type='text' name='kol' value='".$arr_fix[$mode]."' /><br />";
echo "<input type='submit' name='perevod' value='перевод' />";
echo "</form>";
//
echo "<div class='menu'><a href='?l=bank&'>Список операций</a></div>";
echo "</div>";
}else{
echo "<div class='gmenu'>"; //forward.gif
echo "<div class='menu'><img src='/klan/img/money.gif' /> Банк клана: ".m_nf($klan['bank'])." ба
<?php
$t_title="Банк клана!";
$set['title']="$t_title";
include_once H.'sys/inc/thead.php';
title();
// Массив наименований режимов
$arr_rejim = array(
"0"=>"Баллы с банка на личный счет",
"1"=>"Твиксы с банка на личный счет",
"2"=>"Баллы с личного счета в банк",
"3"=>"Твиксы с личного счета в банк"
);
// массив значения по умолчанию
$arr_fix=array(
"0"=>$klan['bank'],
"1"=>$klan['twix'],
"2"=>$user['balls'],
"3"=>$user['money']
);
if (isset($_GET['mode']))
{
$mode=intval($_GET['mode']);
if (!isset($arr_rejim[$mode])) //$arr_rejim
{
mset_err("Недопустимая операция! ");
header("Location: ?l=bank");exit;
}
// Обработка перевода
if (isset($_POST['perevod']))
{
$errors='';
if ($mode==0 or $mode==2) // Операции с баллами
{
$summ=abs(intval($_POST['kol']));
}else{ // Операции с твиксами
$summ=abs(floatval($_POST['kol']));
}
if ($summ==0) $errors.="Количество переводимых средств не должно быть равно нулю! ";
//
#echo "\$mode=$mode";
switch ($mode)
{
case 0: #Баллы с банка на личный счет
{
if ($summ>$klan['bank']) $errors.="Для перевода недостаточно баллов в банке! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `bank`=(`bank`-$summ) WHERE `admin` = '$user[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `balls`=(`balls`+$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ баллов с банка на личный счет");
//
$pol_arr=array("0"=>"сняла","1"=>"снял");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." на личный счет из банка $summ баллов! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
//
}else {mset_err("Нет прав для снятия со счета! ");}
}
break;
}
case 1: #Твиксы с банка на личный счет
{
if ($summ>$klan['twix']) $errors.="Для перевода недостаточно $sMonet[0] в банке! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `twix`=(`twix`-$summ) WHERE `admin` = '$user[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `money`=(`money`+$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ $sMonet[0] с банка на личный счет");
$pol_arr=array("0"=>"сняла","1"=>"снял");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." на личный счет из банка $summ $sMonet[0]! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
}else{mset_err("Нет прав для снятия со счета! ");}
}
break;
}
case 2: #Баллы с личного счета в банк
{
if ($summ>$user['balls']) $errors.="Для перевода недостаточно баллов на личном счете! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `bank`=(`bank`+$summ) WHERE `id` = '$klan[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `balls`=(`balls`-$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ баллов с личного счета в банк! ");
$pol_arr=array("0"=>"вложила","1"=>"вложил");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." в банк клана $summ баллов! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
}
}
break;
}
case 3: #Твиксы с личного счета в банк
{
#echo " процедура перевода ";
if ($summ>$user['money']) $errors.="Для перевода недостаточно $sMonet[0] на личном счете! ";
if ($errors=='')
{
mysql_query("UPDATE `clan` SET `twix`=(`twix`+$summ) WHERE `id` = '$klan[id]' LIMIT 1");
if (mysql_affected_rows()>0)
{
mysql_query("UPDATE `user` SET `money`=(`money`-$summ) WHERE `id` = '$user[id]' LIMIT 1");
mset_msg("Переведено $summ $sMonet[0] с личного счета в банк! ");
$pol_arr=array("0"=>"вложила","1"=>"вложил");
$lentamsg="[url=/info.php?id=$user[id]]$user[nick][/url] ".$pol_arr[$user['pol']]." в банк клана $summ $sMonet[0]! ";
addklanlenta($klan['id'], $lentamsg);// В ленту клана
}
}
break;
}
}
if ($errors) mset_err($errors);
header("Location: ?l=bank");exit;
#echo $errors;
}
//
echo "<div class='title'> Перевести ".$arr_rejim[$mode]."</div>";
echo "<div class='gmenu'>";
// Форма ввода количества
echo "<form action='' method='post'>";
#echo "<input type='hidden' name='$mode' value='перевод' />";
echo "<input type='text' name='kol' value='".$arr_fix[$mode]."' /><br />";
echo "<input type='submit' name='perevod' value='перевод' />";
echo "</form>";
//
echo "<div class='menu'><a href='?l=bank&'>Список операций</a></div>";
echo "</div>";
}else{
echo "<div class='gmenu'>"; //forward.gif
echo "<div class='menu'><img src='/klan/img/money.gif' /> Банк клана: ".m_nf($klan['bank'])." ба
Проще файл в архиве, или с именем txt
Ivlev (12 мар 2023, в 1:00)
Проще файл в архиве, или с именем txt
Вот
Проще файл в архиве, или с именем txt
------
85576_bank.txt (6.8 Kb)
Скачиваний: 87
Deprecated functions: The code uses the mysql_query() and mysql_affected_rows() functions, which are deprecated since PHP version 5.5.0 and removed since PHP version 7.0.0. Instead, it's recommended to use mysqli or PDO extensions.
SQL injection vulnerabilities: The code uses user input directly in SQL queries without proper sanitization, which can lead to SQL injection attacks. It's recommended to use prepared statements or at least sanitize user input using functions like mysqli_real_escape_string().
Undefined variables: The code uses undefined variables such as $sMonet and $klan, which may lead to warnings or errors.
Inconsistent variable naming: The code uses different naming conventions for variables, such as using both snake_case and camelCase.
Confusing condition: The condition $mode==0 or $mode==2 is used to distinguish between operations with balls and operations with twix, which is not very clear.
Mixing data types: The code uses a mix of integer and float data types to represent the same concept (e.g., $summ can be either an integer or a float depending on the operation), which can lead to unexpected behavior.
Lack of error handling: The code doesn't handle errors properly, for example, by displaying error messages to the user and logging them.
Missing security checks: The code doesn't perform any security checks, such as checking if the user is authorized to perform the operation or if the user has sufficient funds to perform the operation.
SQL injection vulnerabilities: The code uses user input directly in SQL queries without proper sanitization, which can lead to SQL injection attacks. It's recommended to use prepared statements or at least sanitize user input using functions like mysqli_real_escape_string().
Undefined variables: The code uses undefined variables such as $sMonet and $klan, which may lead to warnings or errors.
Inconsistent variable naming: The code uses different naming conventions for variables, such as using both snake_case and camelCase.
Confusing condition: The condition $mode==0 or $mode==2 is used to distinguish between operations with balls and operations with twix, which is not very clear.
Mixing data types: The code uses a mix of integer and float data types to represent the same concept (e.g., $summ can be either an integer or a float depending on the operation), which can lead to unexpected behavior.
Lack of error handling: The code doesn't handle errors properly, for example, by displaying error messages to the user and logging them.
Missing security checks: The code doesn't perform any security checks, such as checking if the user is authorized to perform the operation or if the user has sufficient funds to perform the operation.