Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2020, 20:07   #1
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию Как добиться обновления суммы в таблице БД

Здравствуйте, прошу подскажите, у кого есть возможность - Как добиться обновления суммы в таблице БД . Код рабочий, уведомления txt приходят, и запись в таблицу платеж идет, все четко.
В таблице пользователь, тишина. Этот код я пробовал по разному, и определять ид пользователя и делать выборку перед записью и много других вариантов, результат один - запись в таблицу происходит, обновление записи нет.
Как надо сделать подскажите пожалуйста.
Код:
<?
$notification_type = $_POST["notification_type"]; 
$operation_id = $_POST["operation_id"];
$amount = $_POST["amount"];
$currency = $_POST["currency"];
$datetime = $_POST["datetime"];
$sender = $_POST["sender"];
$codepro = $_POST["codepro"];
$label = $_POST["label"];
$sha1_hash = $_POST["sha1_hash"];
$test_notification = $_POST["test_notification"];

$hash = $notification_type . '&' . $operation_id . '&' . $amount . '&' . $currency . '&' . $datetime . '&' . $sender . '&' . $codepro . '&' . $notification_secret . '&' . $label; //формируем хеш

$sha1 = hash("sha1", $hash); //кодируем в SHA1

//Ниже - проверка на валидность
if ( $sha1 == $sha1_hash ) {
echo 'OK';
} else {
echo 'error';
}              

// Ниже - отладка - запись в файл testlog.txt переданых данных с ЯД.
 {
$test_wr = fopen ('testlog.txt', 'a+');
fwrite ($test_wr, "$notification_type - тип нотификации\r\n$operation_id - ид операции\r\n$amount - сумма\r\n$currency -Код валюты\r\n$datetime - дата+время\r\n$sender -отправитель\r\n$codepro - наличие кода протекции\r\n$label - метка платежа\r\n$sha1_hash - переданый проверочный хеш\r\n$sha1 - расчитаный хэш\r\n$test_notification - тестовая нотификация\r\n");
fclose ($test_wr);
}

		{
	
		//Обновляем данные по счету пользователя 
		if(isset($_POST['amount']))
		mysqli_query($link,"UPDATE user SET summa=summa+".$_POST['amount']." WHERE id_user='".$_POST['label']."'"); 
		
	    if(isset($_POST['label']))
		mysqli_query($link,"INSERT INTO plateg (summa, id_user, typ, data, opis)  VALUES ('".$_POST['amount']."', '".$_POST['label']."', 1, NOW(), 'Пополнение кошелька через Яндекс.Деньги')");
		return true;          
 		
		}	    
?>
ROM710 вне форума Ответить с цитированием
Старый 12.10.2020, 20:14   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Наверное $_POST['amount'] никогда не существует
ADSoft на форуме Ответить с цитированием
Старый 12.10.2020, 20:21   #3
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

ЗДРАВСТВУЙ ADSoft, как не существует ? Сумма записывается.
ROM710 вне форума Ответить с цитированием
Старый 12.10.2020, 21:35   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Нам откуда знать?
А поле sumna есть в таблице user? И чему она равна по умолчанию?
ADSoft на форуме Ответить с цитированием
Старый 13.10.2020, 05:29   #5
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Да, есть , по умолчанию null - \ summa double Да NULL \

Робокасса - работает, все записывает.

Последний раз редактировалось ROM710; 13.10.2020 в 05:32.
ROM710 вне форума Ответить с цитированием
Старый 13.10.2020, 06:58   #6
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Все спасибо, изменил в поле сумма - double на int, все заработало. Плавающая точка мешала.
ROM710 вне форума Ответить с цитированием
Старый 13.10.2020, 07:40   #7
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Не null должно быть а 0.
Да и double никто не запрещал, только число в кавычках надо записывать
ADSoft на форуме Ответить с цитированием
Старый 13.10.2020, 08:51   #8
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
только число в кавычках надо записывать
Это где кавычки устанавливать ?
Так и еще одна проблема нарисовалась - если два запроса в коде, то опять обновление не происходит. Тогда кода тестировал таблицу пользователи, я убирал запрос в таблицу платеж.
А это с чем может быть связано ?
ROM710 вне форума Ответить с цитированием
Старый 13.10.2020, 09:11   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

Цитата:
Сообщение от ROM710 Посмотреть сообщение
А это с чем может быть связано ?
с незнанием.... с отсутствием опыта, с невнимательностью.....

почитайте хорошую книгу по PHP, ибо вы некоторые элементарные вещи не знаете
учитесь отлаживать код итд
ADSoft на форуме Ответить с цитированием
Старый 13.10.2020, 10:42   #10
ROM710
Форумчанин
 
Регистрация: 24.02.2014
Сообщений: 144
По умолчанию

Все правильно, согласен. Найти трудно то, что нужно, как в данной ситуации. Зачастую - заголовок гласит одно, читаешь, читаешь и все в пустую. А в основном я так и делаю, на форум пишу сейчас, только уж очень в крайнем случае. Или как сейчас, последний вопрос прицепом.
ROM710 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть дата сет по которому я строю гистограмму, мне нужно как то вытащить данные из области отмеченной на картинке. Как это можно сделать? TSwallow Python 1 02.10.2020 23:37
После обновления вордпресс, обновления плагина woocommerce, после оформления заказов не показывает количество купленных товаров Алекс Мельников WordPress и другие CMS 4 24.07.2016 02:28
trigger - подсчёт общей суммы из 3 таблиц и вывод в 4 таблице USER25 Помощь студентам 1 25.05.2015 18:02
Автовычисление и запись суммы в таблице zl@dey SQL, базы данных 1 07.02.2012 22:46
Как объядинить суммы по одному наименованию в сводной таблице? Fiscal Microsoft Office Excel 11 01.03.2010 14:52