Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/27: Рейтинг темы: голосов - 27, средняя оценка - 4.56
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601

Значание из формы HTML не передается в переменную PHP

31.05.2020, 22:54. Показов 7451. Ответов 168
Метки php (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Есть форма:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!-- кнопка пополнения кошелька -->
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
 
<div class="payment-method">
    <p class="choose-payment"><?php _e('Пополнение кошелька BS'); ?></p>
</div>
 
    <div class="code-bank">
 
        <form class="et-form" method="post">
 
            <div class="input-group">
                        <label for="amount"><?php _e( 'Money amount', 'enginethemes' ); ?></label>
                        <input type="number" name="amount001" placeholder="<?php printf(__('Minimum: %s', 'enginethemes'), mje_format_price(MIN_WITHDRAW, "", true, false)); ?>">
            </div>
 
            <div class="form-group">
                <br><button class="btn-save waves-effect waves-light btn-diplomat js-my-form-submit"><?php _e('Пополнить'); ?></button>
            </div>
 
        </form>
 
</div>
<!-- кнопка пополнения кошелька -->
тут же в файле скрипт:
PHP
1
2
3
<?php
$summa_p = $_POST['amount001'];
//и т д...
Почему из формы amount001 не передается в переменную $summa_p число?
Отладка показывает null.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.05.2020, 22:54
Ответы с готовыми решениями:

Не передается текст формы в переменную php
Вроде всё просто, но не работает. Подскажите, куда смотреть &lt;! DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt; ...

Переменную из php в html
Доброго времени суток, пытаюсь передать переменную из php в php-файл, в котором кодм html. Файл index.php(здесь только html): ...

Передать переменную HTML ->JS->PHP
Всем привет! Я новичок и пытаюсь освоить AJAX. Есть задача: на странице в HTML есть форма, где выбирается год и месяц, а затем через...

168
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
06.07.2020, 22:52
Студворк — интернет-сервис помощи студентам
не знаю, почему у вас ob_end_clean(); в начале стоит. первое впечатление, что правильнее было бы так
PHP
1
2
3
4
5
6
if ($_POST['m_sign'] == $sign_hash && $_POST['m_status'] == 'success')
{
    include 'amount-balance.php';
    ob_end_clean();
    exit($_POST['m_orderid'].'|success');
}
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
06.07.2020, 23:20  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
не знаю, почему у вас ob_end_clean(); в начале стоит. первое впечатление, что правильнее было бы так
PHP
1
2
3
4
5
6
if ($_POST['m_sign'] == $sign_hash && $_POST['m_status'] == 'success')
{
    include 'amount-balance.php';
    ob_end_clean();
    exit($_POST['m_orderid'].'|success');
}
ну, так было в стандартном коде, скачанном в ЛК.
ну я по-всякому попробовал уже, никак у меня ни как у Вас от перестановки ob_end_clean(); ситуация не меняется

Добавлено через 12 минут

Добавлено через 5 минут
Поротестил в файле amount-balance.php:
PHP
1
2
3
4
5
$amount_id = $_POST['m_orderid'];
 
$filed = "save.txt";
 
file_put_contents($filed, $amount_id);
записало идендификатор предыдущего пополнения!!!
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
06.07.2020, 23:23
а $user_data01 нормально записан?

Не по теме:


что-то мы упускаем из вида. сейчас несколько моментов надо обдумать.

0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
06.07.2020, 23:25  [ТС]
вот здесь и ошибка! только вот что делать
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
06.07.2020, 23:28
что за ошибка?
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
06.07.2020, 23:48  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
что за ошибка?
что за ошибка?
вот писал:
Поротестил в файле amount-balance.php:
PHP
1
2
3
4
5
$amount_id = $_POST['m_orderid'];
 
$filed = "save.txt";
 
file_put_contents($filed, $amount_id);
записало идендификатор предыдущего пополнения!!!
Вернул на место ob_end_clean();

PHP
1
2
3
        ob_end_clean();
        include 'amount-balance.php';
        exit($_POST['m_orderid'].'|success');
$filed = "save.txt"; записало как надо, значит косяк тут:

PHP
1
2
3
4
5
6
$m_amount = $wpdb->get_results(
    "SELECT amount
    FROM `bs_amounts`
    WHERE orderid = '$amount_id'
    AND login = '$user_data01'"
);
Добавлено через 4 минуты
нет, поторопился, все равно записывает предыдущий идентификатор, предыдущую оплату

Добавлено через 13 минут
нет, поторопился, все равно записывает предыдущий идентификатор, предыдущую оплату
через раз записывает то актуальную дату то предыдущей операции
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
06.07.2020, 23:52
Цитата Сообщение от rsl89 Посмотреть сообщение
записывает предыдущий идентификатор, предыдущую оплату
странно.
может, имеет смысл проверить $_POST
PHP
1
file_put_contents($filed, print_r($_POST, true));
там же есть и $_POST['m_operation_date'] и $_POST['m_operation_pay_date']

Добавлено через 2 минуты
Цитата Сообщение от rsl89 Посмотреть сообщение
через раз записывает то актуальную дату то предыдущей операции
может, после записи даты надо редиректить со страницы. потому что при обновлении ее могут записываться данные отправленной формы?
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
07.07.2020, 00:18  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
странно.
может, имеет смысл проверить $_POST
PHP
1
file_put_contents($filed, print_r($_POST, true));
там же есть и $_POST['m_operation_date'] и $_POST['m_operation_pay_date']

Добавлено через 2 минуты

может, после записи даты надо редиректить со страницы. потому что при обновлении ее могут записываться данные отправленной формы?
PHP
1
file_put_contents($filed, print_r($_POST, true));
протестил, все данные с предыдущего платежа

может, после записи даты надо редиректить со страницы. потому что при обновлении ее могут записываться данные отправленной формы?
нет, я же с формы записываю ее в БД, а потом сверяю, к примеру дата в БД всегда соответствует дате в ЛК на мерчанте в истории операций
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
07.07.2020, 00:30
в адресной строке такие же параметры?
site/success/?m_operation_id=1067843166&m_operation_p s=88004700&m_operati on_date=27.06.2020 22:55:24&m_operation_pay_date=27.06.2020 22:55:47&m_shop=001&m_orderid=admin06.27 .2022:55:02&m_amount =10.00&m_curr=RUB&m_desc=YWRtaW5fYnM%3D& m_status=success&m_s ign=A5D706AC59D6F9B05CE6FA08C77EC46AFBED B506A0C386176FF6324D 04C37E0C&lang=ru
попробуйте их сравнить
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
07.07.2020, 00:55  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
в адресной строке такие же параметры?
site/success/?m_operation_id=1067843166&m_operation_p s=88004700&m_operati on_date=27.06.2020 22:55:24&m_operation_pay_date=27.06.2020 22:55:47&m_shop=001&m_orderid=admin06.27 .2022:55:02&m_amount =10.00&m_curr=RUB&m_desc=YWRtaW5fYnM%3D& m_status=success&m_s ign=A5D706AC59D6F9B05CE6FA08C77EC46AFBED B506A0C386176FF6324D 04C37E0C&lang=ru
попробуйте их сравнить
Сейчас протестил.
1. Запись file_put_contents($filed, print_r($_POST, true)); совпала и с БД и с мерчантом, все четко
2. в адресной строке все совпало, правда там nick07.07.2000:31:39 без разделительных палок nick|07.07.20|00:31:39, но
это не критично.
Получается этот платеж должен был пройти и это должно было отработать:
PHP
1
2
3
4
5
6
$m_amount = $wpdb->get_results(
    "SELECT amount
    FROM `bs_amounts`
    WHERE orderid = '$amount_id'
    AND login = '$user_data01'"
);
но не отработало

если я для теста просто ставлю $m_amount=10; все отрабатывает как часы

Добавлено через 1 минуту
но и это я отлаживал:
PHP
1
2
3
4
5
6
$m_amount = $wpdb->get_results(
    "SELECT amount
    FROM `bs_amounts`
    WHERE orderid = '$amount_id'
    AND login = '$user_data01'"
);
ставя просто $amount_id = нужному значению, все отрабатывало, значит и тут косяка нет

Добавлено через 10 минут
еще раз протестил, все также все даты совпадают, опять не отработало что ли блин:

PHP
1
2
3
4
5
6
$m_amount = $wpdb->get_results(
    "SELECT amount
    FROM `bs_amounts`
    WHERE orderid = '$amount_id'
    AND login = '$user_data01'"
);
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
07.07.2020, 13:39
перепишите запрос так
PHP
1
2
$amount = $wpdb->get_row($wpdb->prepare("SELECT amount FROM `bs_amounts` WHERE orderid=%s AND login=%s", $amount_id, $user_data01)); 
$m_amount = $amount->amount;
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
07.07.2020, 23:01  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
перепишите запрос так
PHP
1
2
$amount = $wpdb->get_row($wpdb->prepare("SELECT amount FROM `bs_amounts` WHERE orderid=%s AND login=%s", $amount_id, $user_data01)); 
$m_amount = $amount->amount;
Протестил, не помогло

Добавлено через 6 минут
попытался записать что там творится при этом в $amount при помощи file_put_contents, там пусто
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
07.07.2020, 23:09  [ТС]
может быть я таблицу неверно сформировал?
но ведь если я подставляю в $amount_id = $_POST['m_orderid'] просто значение $amount_id = 'xxxxxx'; то поиск отрабатывает как нужно:
PHP
1
2
3
4
5
6
$m_amount = $wpdb->get_results(
    "SELECT amount
    FROM `bs_amounts`
    WHERE orderid = '$amount_id'
    AND login = '$user_data01'"
);
Миниатюры
Значание из формы HTML не передается в переменную PHP  
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
07.07.2020, 23:47
у вас $m_amount должна быть не простая переменная, а результат выборки из бд - то есть массив, из нее еще надо извлекать нужное значение.
откройте phpmyadmin и посмотрите , что в таблице amount записано?
и после запроса добавьте для отладки сначала
PHP
1
file_put_contents($filed, '['.$m_amount.']');
чтобы посмотреть, что возвращает запрос, и затем
PHP
1
file_put_contents($filed, '['.$wpdb->last_error.']');
и посмотрите, есть ли ошибки запроса к бд
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
07.07.2020, 23:59  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
у вас $m_amount должна быть не простая переменная, а результат выборки из бд - то есть массив, из нее еще надо извлекать нужное значение.
откройте phpmyadmin и посмотрите , что в таблице amount записано?
и после запроса добавьте для отладки сначала
PHP
1
file_put_contents($filed, '['.$m_amount.']');
чтобы посмотреть, что возвращает запрос, и затем
PHP
1
file_put_contents($filed, '['.$wpdb->last_error.']');
и посмотрите, есть ли ошибки запроса к бд
PHP
1
file_put_contents($filed, '['.$m_amount.']');
вернуло: [Array]

PHP
1
file_put_contents($filed, '['.$wpdb->last_error.']');
вернуло: []

PHP
1
откройте phpmyadmin и посмотрите , что в таблице amount записано?
там число? приложил скрин, тип таблицы amount int(11)
Миниатюры
Значание из формы HTML не передается в переменную PHP  
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
08.07.2020, 00:03
Цитата Сообщение от rsl89 Посмотреть сообщение
вернуло: [Array]
это понятно?
теперь узнаете структуру этого массива
PHP
1
file_put_contents($filed, '['.print_r($m_amount, true).']');
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
08.07.2020, 00:10  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
это понятно?
теперь узнаете структуру этого массива
PHP
1
file_put_contents($filed, '['.print_r($m_amount, true).']');
Там:
[Array
(
)
]

потому что $amount_id = $_POST['m_orderid']; по прежнему передает значения предыдущего или пред предыдущего платежа(

Добавлено через 37 секунд
в нем то верные параметры, то предыдущего платежа
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
08.07.2020, 00:12
а как вы дальше используете $m_amount?
0
 Аватар для rsl89
9 / 8 / 2
Регистрация: 18.04.2020
Сообщений: 601
08.07.2020, 00:18  [ТС]
Цитата Сообщение от vinikon Посмотреть сообщение
а как вы дальше используете $m_amount?
я использую эту цифру, прибавляю ее к балансу:
PHP
1
$new_balance = $str->balance += $m_amount;
ну т д. использую в шаблон уведомления...

я же говорию если взять и в начале моего кода сделать к примеру так: $m_amount = 138; все работает.

Мне нужно:
1. получить $amount_id = $_POST['m_orderid']
2. вычленить $m_amount
0
 Аватар для vinikon
340 / 160 / 89
Регистрация: 16.01.2020
Сообщений: 771
08.07.2020, 00:21
$m_amount - это МАССИВ. как вы его прибавляете?

Добавлено через 2 минуты
поэтому и работает, когда вы ей присваиваете число. а при запросе из бд значение нужное еще надо получить из результата
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.07.2020, 00:21

Записать html код в переменную php
как стилизировать отправляемый текст на пошту. в переменную записую текст и отправляю на пошту, как можно стилизировать список заказа? ...

передать переменную из html файла в php
почему не работает? Так то вроде все правильно. не пойму где ошибка index.html: &lt;html&gt; &lt;head&gt; &lt;title&gt;What is...

Как передать в HTML переменную из php
Как передать в HTML переменную из php? Причем HTML код содержится в .php файле.

Как поместить в переменную код html и php?
Здравствуйте, Подскажите пожалуйста как поместить вот этот код: &lt;p align=&quot;left&quot; class='post_comment'&gt;Add comment:...

Php не видит переменную при инициадизации из html
Php не видит переменную при инициализации из шаблона сайта &lt;div class=&quot;short-description-content&quot;&gt; &lt;p...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
100
Ответ Создать тему
Новые блоги и статьи
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru