PHP - проверить $_POST после отправки => если значения такие же, как в базе данных, перенаправить $_POST на другой веб-сайт

в настоящее время я пытаюсь реализовать функцию, позволяющую пользователям платить через PayPal на моем веб-сайте (чтобы разблокировать загрузки для комиссий, которые я делаю). Итак, я настроил HTML-форму с некоторыми скрытыми входными данными, такими как цена и прочее. Я хочу проверить $_POST после отправки на другой php-скрипт для модификаций. И если пользователь изменил какую-либо из записей, он должен получить предупреждение. Если все в порядке, этот $_POST должен быть перенаправлен в PayPal, как это обычно делается.

Поэтому я не хочу, чтобы пользователь мог изменять значение цены или любое другое значение (которое скрипт получает из моей базы данных) - Когда он нажимает «Оформить заказ», веб-сайт открывает php-скрипт, который проверяет значения из $_POST с помощью базы данных. Когда все в порядке, $_POST следует перенаправить на https://www.paypal.com/cgi-bin/webscr.

Есть идеи?

<?php
    echo '
    <form id = "paypal_checkout" action = "https://mywebsite/checkPOST.php" method = "post">
        <input name = "cmd" value = "_cart" type = "hidden">
        <input name = "upload" value = "1" type = "hidden">
        <input name = "no_note" value = "0" type = "hidden">
        <input name = "bn" value = "Get your commissioned Item" type = "hidden">
        <input name = "tax" value = "0" type = "hidden">
        <input name = "rm" value = "2" type = "hidden">

        <input name = "business" value = "[email protected]" type = "hidden">
        <input name = "handling_cart" value = "0" type = "hidden">
        <input name = "currency_code" value = "USD" type = "hidden">
        <input name = "lc" value = "DE" type = "hidden">
        <input name = "return" value = "http://mysite/myreturnpage" type = "hidden">
        <input name = "cbt" value = "Return to My Site" type = "hidden">
        <input name = "cancel_return" value = "http://mysite/mycancelpage" type = "hidden">
        <input name = "custom" value = "" type = "hidden">
        <input name = "unlockcode" value = "'.$unlockcode.'" type = "hidden">

        <div id = "item_1" class = "itemwrap">
            <input name = "item_name_1" value = "'.$row['name'].'" type = "hidden">
            <input name = "quantity_1" value = "1" type = "hidden">
            <input name = "amount_1" value = "'.$price.'" type = "hidden">
            <input name = "shipping_1" value = "0" type = "hidden">
        </div>

        <input id = "ppcheckoutbtn" value = "Checkout" class = "button" type = "submit">
    </form>';
?>

В общем, все, что я хочу, это запретить пользователям изменять эти значения перед отправкой в ​​​​paypal.

Можете ли вы создать таблицу Cart в своей базе данных, которая содержит все эти значения, а затем передавать cart_id, а не все значения?

Reed 24.03.2019 17:12

Технически вы не можете запретить людям изменять данные html. Если в вашей базе данных есть данные для проверки, вы можете проверить их одним из двух способов. Выполните запрос, чтобы загрузить все данные в массив, затем проверьте свой $_POST по этому массиву. Или создайте запрос, который проверяет все значения напрямую.

Reed 24.03.2019 17:14

Эй, Рид, это то, чем я уже занимаюсь. Значения отправляются в другой php-скрипт через Submit. Там все значения $_POST проверяются на массив, который я получил из своей базы данных. Вот другой скрипт, проверяющий $_POST: pastebin.com/9sX31amZ Проверка работает, но я не знаю, как перенаправить $_POST в PayPal. Есть идеи?

ChrisX930 24.03.2019 17:26

Ох, ну ладно! Я не уверен. Прошли годы с тех пор, как я работал с Paypal. Я полагаю, что у них будет довольно хорошая документация. Они сделали назад, когда я использовал его раньше.

Reed 24.03.2019 17:51

Только что нашел работающий метод x) $paypalUrl = 'paypal.com/cgi-bin/webscr'; $queryString = http_build_query($data); header('location:' . $paypalUrl . '?' . $queryString); выход();

ChrisX930 24.03.2019 18:25
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
21
0

Другие вопросы по теме