Im viết biểu mẫu để đăng dữ liệu lên paypal, và điều này hoạt động tốt, tôi tạo biểu mẫu với các trường ẩn và sau đó có nút gửi gửi mọi thứ tới paypal.Tự động gửi biểu mẫu (cURL)
Tuy nhiên, khi người dùng nhấp vào nút đó, có nhiều thứ tôi muốn làm hơn, ví dụ như thay đổi trạng thái giỏ hàng của họ trong cơ sở dữ liệu. Vì vậy, tôi muốn có thể thực thi một số mã khi họ nhấp gửi và sau đó đăng dữ liệu lên paypal.
Tôi không muốn sử dụng javascript cho việc này.
Phương pháp của tôi tại thời điểm này đang sử dụng cURL, biểu mẫu đăng lại trang hiện tại, sau đó kiểm tra dữ liệu $ _POST, thực hiện các lệnh khác của tôi như cập nhật trạng thái giỏ hàng, sau đó tạo lệnh curl và gửi dữ liệu biểu mẫu đến paypal. Bây giờ, nó được đăng thành công, nhưng trình duyệt không đi đến paypal. Lúc đầu tôi chỉ lấy lại kết quả trong một chuỗi và sau đó lặp lại nó và tôi có thể thấy rằng bài đăng đã thành công, sau đó tôi đặt CURLOPT_FOLLOWLOCATION thành 1 giả định điều này sẽ cho phép trình duyệt chuyển sang paypal nhưng nó không, những gì nó có vẻ là làm là lấy một số công cụ từ paypal và đặt nó trên trang của tôi.
Bạn đang sử dụng cURL điều phù hợp với điều này? và nếu có, làm cách nào để tôi giải quyết vấn đề này? Tôi muốn tránh xa javascript cho điều này như là chỉ người dùng với kích hoạt javascript sẽ có giỏ hàng của họ được cập nhật.
Mã im sử dụng cho curl ở bên dưới, post_data là mảng tôi đã tạo và sau đó đọc cặp khóa-giá trị thành chuỗi bài đăng.
//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);
cảm ơn, tôi đã hy vọng tôi sẽ không phải làm điều đó trong cuộc gọi lại từ paypal, tôi muốn đặt trạng thái giỏ hàng khi nó chuyển sang paypal và một khi nó trả về chỉ để accuratley theo dõi tiến độ và trợ giúp với sửa bất kỳ lỗi nào, hãy thử thiết lập một số tiêu đề http và xem, nhưng tôi có thể chỉ cần thực hiện nó trong phần gọi lại. Tôi chỉ giả định rằng tự động gửi biểu mẫu và sau hành động sẽ dễ dàng hơn. – cast01
Tôi đoán bạn vẫn có thể làm cả hai cho những người dùng đã bật javascript.Đối với những người không có javascript kích hoạt chỉ gọi lại được sử dụng nhưng đối với những người (đa số) đã kích hoạt javascript, bạn có thể thiết lập cờ 'đi-to-paypal' trong một cuộc gọi ajax và thiết lập 'hoàn thành' gắn cờ trong cuộc gọi lại. –