• 01-03-2023, 09:02:18
    #1
    Merhabalar,
    PHP cURL ile datamı a sitesine post olarak gönderiyorum akabinde header("Location:a") ile aynı siteye yönleniyorum fakat post etmiş olduğum verileri göremiyorum bu işlemi nasıl yapabilirim. html'deki form metodunu kullanmak istemiyorum.
    Çok araştırma yaptım cURL CURLOPT_FOLLOWLOCATION sınıfını da kullandım fakat olmadı bir yerde hata yapmış olabilirim.
    Örnek kodlamam

    $params = array(
    "id" => 97693628,
    "status" => 1,
    "message" => işlem başarılı ,
    "price" => 100,
    );
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, "https://www.asite.com");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    
    
    $response = curl_exec($ch);
    
    
    curl_close($ch);
    
    
    header('Location:https://www.asite.com');
    exit();
    Post edilen site ile akabinde yönlenilecek site aynı.
    Yardım ederseniz sevinirim.
    İyi çalışmalar.
  • 01-03-2023, 09:05:44
    #2
    Bunu zamanında bende çok denedim, maalesef form dışında çözümü yok
  • 01-03-2023, 09:09:30
    #3
    post etmiş olduğum verileri göremiyorum derken neyi kast ediyorsunuz hocam? Post ettiğiniz veriler zaten belli değil mi?
  • 01-03-2023, 09:28:54
    #4
    /**
      * Redirect with POST data.
      *
      * @param string $url URL.
      * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
      * @param array $headers Optional. Extra headers to send.
      */
    public function redirect_post($url, array $data, array $headers = null) {
      $params = [
        'http' => [
          'method' => 'POST',
          'content' => http_build_query($data)
        ]
      ];
    
      if (!is_null($headers)) {
        $params['http']['header'] = '';
        foreach ($headers as $k => $v) {
          $params['http']['header'] .= "$k: $v\n";
        }
      }
    
      $ctx = stream_context_create($params);
      $fp = @fopen($url, 'rb', false, $ctx);
    
      if ($fp) {
        echo @stream_get_contents($fp);
        die();
      } else {
        // Error
        throw new Exception("Error loading '$url', $php_errormsg");
      }
    }
    bunu dener misin ? yapamaz isen bana wp den yaz bir çözüm yazarız inş.
  • 01-03-2023, 10:15:19
    #5
    Misafir adlı üyeden alıntı: mesajı görüntüle
    post etmiş olduğum verileri göremiyorum derken neyi kast ediyorsunuz hocam? Post ettiğiniz veriler zaten belli değil mi?
    cURL ile veriyi post olarak a sitesine gönderdin ve ardından a sitesine de yönlendirme yaptın fakat veriler yönlendirme sonrası gözükmüyor.

    mucahidbaris adlı üyeden alıntı: mesajı görüntüle
    /**
      * Redirect with POST data.
      *
      * @param string $url URL.
      * @param array $post_data POST data. Example: ['foo' => 'var', 'id' => 123]
      * @param array $headers Optional. Extra headers to send.
      */
    public function redirect_post($url, array $data, array $headers = null) {
      $params = [
        'http' => [
          'method' => 'POST',
          'content' => http_build_query($data)
        ]
      ];
    
      if (!is_null($headers)) {
        $params['http']['header'] = '';
        foreach ($headers as $k => $v) {
          $params['http']['header'] .= "$k: $v\n";
        }
      }
    
      $ctx = stream_context_create($params);
      $fp = @fopen($url, 'rb', false, $ctx);
    
      if ($fp) {
        echo @stream_get_contents($fp);
        die();
      } else {
        // Error
        throw new Exception("Error loading '$url', $php_errormsg");
      }
    }
    bunu dener misin ? yapamaz isen bana wp den yaz bir çözüm yazarız inş.
    Teşekkür ederim hocam kontrol sağlayıp size dönüş yapacağım.
  • 02-03-2023, 21:39:58
    #6
    ücretli destek sağlayabiliriz imzadan ulaşın