Я пишу форму для отправки данных в PayPal, и это прекрасно работает, я создаю форму со скрытыми полями и затем имею кнопку отправки, которая передает все в PayPal.
Однако, когда пользователь нажимает эту кнопку, я хочу сделать еще кое-что, например, изменить статус своей корзины в базе данных. Итак, я хочу иметь возможность выполнять некоторый код, когда они нажимают кнопку «Отправить», а затем публикуют данные в PayPal.
Я не хочу использовать для этого javascript.
Мой метод на данный момент использует cURL, форма отправляет обратно на текущую страницу, затем я проверяю данные $ _POST, выполняю другие мои команды, такие как обновление статуса корзины, а затем создаю команду curl и отправляю данные формы для PayPal. Теперь он успешно опубликован, но браузер не переходит на PayPal.
Сначала я просто извлекал результат в строке, а затем выводил его, и я мог видеть, что публикация прошла успешно, затем я установил для CURLOPT_FOLLOWLOCATION значение 1, предполагая, что это позволит браузеру перейти на paypal, но это не так Похоже, это что-то, взятое из PayPal и поместившее его на моей странице.
Правильно ли использовать cURL для этого? и если да, то как мне обойти эту проблему? Я хочу держаться подальше от javascript, так как корзина обновляется только пользователям, у которых включен javascript.
Код, который я использую для curl, приведен ниже, post_data - это массив, который я создал, а затем считал пары ключ-значение в post_string.
//Set cURL Options
curl_setopt($curl_connection, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($curl_connection, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($curl_connection, CURLOPT_RETURNTRANSFER, false);
curl_setopt($curl_connection, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl_connection, CURLOPT_MAXREDIRS, 20);
//Set Data to be Posted
curl_setopt($curl_connection, CURLOPT_POSTFIELDS, $post_string);
//Execute Request
curl_exec($curl_connection);