Добавляются не все значения в базу

lelik17

Новичок
Такая проблема. Пользовтель жмёт на кнопку на странице, после чего происходит следующее:

PHP:
mysql_query("INSERT INTO events (user_id, text, date) VALUES ('$cop_id', 'Заказчик одобрил вашу работу по заказу №$order_id', NOW())");

$symb = count_symbols($text); 
$summa = round($symb/1000*$price, 2); 

mysql_query("INSERT INTO money (from_id, to_id, date, descr, summa, order_id, sys_perc, type) VALUES ('$loggedin_id', '$cop_id', NOW(), 'Оплата заказа №$order_id', '$summa', '$order_id', '$sys_perc', 'order_pay')");
так вот. иногда в таблице events поле text оказывается пустым. Тоже самое случается с таблицей money c полями summa и descr. В чём может быть пробема?
 

lelik17

Новичок
А можно по-подробнее? Дело в том, что здесь никакие данные, кроме $order_id не передаются из формы. причем оно проверяется цифра это или нет.
 

Alex__B

Новичок
Согласен с Mr_Max . Проблемма скорее всего в глобальных переменных, а именно втом что они отключены на хостинге..
наверное нужно сделать так:
$symb = count_symbols($_POST['text']);
$summa = round($_POST['symb']/1000*$_POST['price'], 2);
но еще наверное перед этим проверить принятые преременные на валидность
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Alex__B
$_POST['symb'] - откуда взялся? Что делает count_symbols()? Это mb_strlen?
 

Alex__B

Новичок
Alex__B
$_POST['symb'] - откуда взялся? Что делает count_symbols()? Это mb_strlen?
я так понял, что count_symbols() это некая пользовательская функция lelik17 которая проверяет строку.. я не вникал в подробности..
$_POST('symb') и $_POST['price'] и $_POST['text'] - переменные переданные из формы, если передача была методом POST, ну или вместо $_POST -$_ GET ...
еще...
Поле типа TEXTAREA позволяет пользователю набрать довольно большой блок текста. Поэтому, если в форме присутствует поле TEXTAREA, передавайте скрипту данные методом POST, иначе есть вероятность потери данных. Может здесь собака порылась...
 
Сверху