Здравствуйте помогите сделать проверку, уже два дня ищу решение так и не могу найти. Нужно когда юзер жмякал кнопку то с его баланса списывалось 1 тысяча. Но если его баланс менее чем 1 тысяча а 999 то выдает ошибку. $paymenttext_error
if($_POST['payments'])
{
$rp = $mysql->query("SELECT * FROM `accounts` WHERE `Name` = '{$_SESSION['username']}'")->num_rows;
if($rp >= 1)
{
if($_POST['payments'])
{
$mysql->query("UPDATE `accounts` SET `pLevel` = `pLevel`-1000 WHERE `Name` = '{$_SESSION['username']}'");
$paymenttext_success = "Баланс был успешно снят! [Код: 1]";
}
else
{
$paymenttext_error = "Ошибка при выполнении. >> отрицательный баланс [Код: 2]";
}
}
else
{
$paymenttext_login = "Войдите в личный кабинет!!! [Код: 3]";
}
}
Кнопка вызывающая этот скрипт:
<input type="submit" name="payments" value="Сменить пароль>
начнем с того что вы скорее всего вообще не понимаете что вы делаете:
$rp = $mysql->query("SELECT * FROM `accounts` WHERE `Name` = '{$_SESSION['username']}'")->num_rows;
этот запрос получает цифру, т.е. количество строк которые вернула mysql. 1. Допустим в сесси null есть вариант, что и в базе данных буде строка с именем null и у кого снимет баланс непонятно! 2. Все же нас интересует не количество строк, а именно pLevel потому стоит строку немного переписать.
if(is_string($_SESSION['username'])){
$rp = $mysql->query("SELECT * FROM `accounts` WHERE `Name` = '{$_SESSION['username']}'");
if($rp->num_rows >= 1) {
$row = $rp->fetch_assoc();
if($row['pLevel']>999){
// Здесь снимаем баланс
}else{
// Здесь ошибка, что у вас нет на балансе
}
}else{
// Здесь ошибка что такого юзера нет
}
}else{
// Здесь ошибка, что не авторизован
}
В итоге получается всего-то надо, читать документацию, не пользоваться старыми функциями, проверять, что прислал юзер (обязательно), и делать выводы в сторону изучения работы с БД
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Имею сверстанное объявление для ПК версии, выглядит оно так: Теперь задача предстоит в том, что бы оформить его для смартфонов, вот так: