POST veri tarayıcı tarafından gönderilen olması gerektiği gibi, sunucudan doğrudan yapmak imkanı yok.
Ama bir alternatifi seçebilirsiniz:
- The prefilled form autommatically sunmaked ini your example could work, but as you wrote it's not really good practice and can leave users on a blank page
- GET argümanları almak ve ikinci siteye kıvrılma (ya da herhangi bir iyi http istemcisi) ile POST, sonra tarayıcıya sonucu transfer. Bu bir vekil denir ve iyi bir çözüm imho olabilir.
- Do session sharing across domain, this can not be possible on all setups and can be complex.
Once setup is done, session sharing is almost transparent to php code. If you have more than one need of communication between the 2 domains it can be worth doing this.
Kıvırmak solüsyonu ile Örnek, etki 1 çalıştırmak için kod:
//retrieve GET parameters as a string like arg1=0&arg1=56&argn=zz
$data = $_SERVER['QUERY_STRING'];
// Create a curl handle to domain 2
$ch = curl_init('http://www.domain2.com/target_script.php');
//configure a POST request with some options
curl_setopt($ch, CURLOPT_POST, true);
//put data to send
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//this option avoid retrieving HTTP response headers in answer
curl_setopt($ch, CURLOPT_HEADER, 0);
//we want to get result as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//if servers support is and you want result faster, allow compressed response
curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate');
//execute request
$result = curl_exec($ch);
//show response form domain 2 to client if needed
echo $result;
İşte bu, sizin müşterinin tarayıcı Hatta etki alanı 2 sunucusuna görmezsiniz, sadece almak ondan neden olacaktır. Eğer klasik http başlığı ile bunu yapmak, etki müşteri yönlendirmek istiyorsanız biliyorum.
header('Location: http://www.domain2.com');
Tabii ki, bu kodlanmış değerleri ile demo kodu ve size bırakılan 2 nokta vardır:
- Güvenlik: sorgu dizesi filtrelenmiş veya sadece gerekli parametreleri iletmek için yeniden ve etki 2 sunucu bir 200 HTTP kodu döndürdü savunmak gerekir edilmelidir.
- Application logic should need little adjustement on this part : if domain 2 app expects to get post data in the same request as visitor is coming it won't do it. From domain 2 point of view, the client doing POST request will be server hosting domain 1 not the client browser, it's important if client IP matters or other client checks are done on domain 2.
If the POST request serves to display client specific content you also had to do some server-side tracking to combine previously posted data with the visitor being redirected.
Şimdi daha açık ve umut size yardımcı olacaktır