У меня есть код моего действия POST, но он очень длинный, с двумя разными действиями, если у пользователя есть карта, которую можно купить за деньги из хранилища, и если у пользователя нет карта обновить код что-то вроде этого:Два _POST на одной кнопке отправки
if (isset($_POST['shop'])) {
if (security($_POST['ccard']) == 1) {
$umoney = $urow['bank'] + $urow['money'];
} else {
$umoney = $urow['money'];
}
mysql_query(set the total upgrade values in another table)
mysql_query(give the user upgrade values in another table)
}
if (security($_POST['ccard']) == 1) {
$upuser = mysql_query("UPDATE `users` SET bank=bank-'$sumtotc' WHERE id='$urow[id]'");
} else {
$upat2 = mysql_query("UPDATE `users` SET money=money-'$sumtotc' WHERE id='$urow[id]'");
}
, но если я это сделать, если пользователь купить что-то, что значение больше чем банк, он будет со знаком минус значение в банке, я пытался с этим:
if ($urow['bank'] < 0) {
$upmon = mysql_query("UPDATE `users` SET money=money-'$urow[bank]' WHERE id='$urow[id]'");
$upban = mysql_query("UPDATE `users` SET bank=0 WHERE id='$urow[id]'");
}
Есть ли другой способ улучшить функционирование карты? и стоимость банка не должна быть отрицательной?
** ПРЕДУПРЕЖДЕНИЕ **: Это чудовищно небезопасно, поскольку эти параметры не являются [должным образом спасся] (Http: // bobby-tables.com/php). Вы должны ** НИКОГДА не ставить данные '$ _POST' непосредственно в запрос: он создает гигантскую ошибку [SQL injection bug] (http://bobby-tables.com/). 'mysql_query' - устаревший интерфейс и не должен использоваться, он удаляется из PHP. Современная замена, такая как [PDO, не трудно учиться] (http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/). Руководство, подобное [PHP The Right Way] (http://www.phptherightway.com/), объясняет лучшие практики. – tadman