PHP HTTP POST istekleri

7 Cevap php

Nasıl bir tarayıcı yönlendirme ve PHP bir HTTP POST isteği gönderme hakkında nasıl gidiyor? A header("Location: file.php?foo=bar") HTTP POST istekleri, eğer olacak.

7 Cevap

Yapamazsınız - HTTP buna izin vermez - onlar GET vars olarak URL içine gömülü olması gereken bir yönlendirme yoluyla argüman geçmek istiyorum.

C.

Bu tarayıcı yönlendirmek değil ama o bir POST isteği gerçekleştirebilirsiniz.

Curl Manual

Curl POST Example

PHP POST Without Curl

Tarayıcıyı yeniden yönlendirmek için ben Javascript kullanarak öneririm.

POST yapar ve yönlendirmek bir örnek form

 <FORM action="http://somesite.com/prog/adduser" method="post">
    <P>
    <LABEL for="firstname">First name: </LABEL>
              <INPUT type="text" id="firstname"><BR>
    <LABEL for="lastname">Last name: </LABEL>
              <INPUT type="text" id="lastname"><BR>
    <LABEL for="email">email: </LABEL>
              <INPUT type="text" id="email"><BR>
    <INPUT type="radio" name="sex" value="Male"> Male<BR>
    <INPUT type="radio" name="sex" value="Female"> Female<BR>
    <INPUT type="submit" value="Send"> <INPUT type="reset">
    </P>
 </FORM>

Ben ancak herhangi bir sunucu tarafı dilde mümkün değildir, bunun için herhangi bir ihtiyaç olurdu neden emin değilim.

Sen bir post isteği kullanarak bir sayfa istemek için böyle jQuery gibi bir javascript kütüphanesi kullanabilirsiniz

Ben bir istek ortasına yönlendirerek POST verilerini bir tarayıcı alabilirsiniz inanmıyorum. Sen GET ile sınırlı konum. Eğer bir <form> inşa ve göndermeniz gereken bir şey POST için bir tarayıcı istiyorsanız. (Ya da bir AJAX isteği kullanabilirsiniz.)

PHP böyle bir şey yok. Sizin örnek yerine getirmek için, sadece basit $_GET['foo'] = 'bar'; include("file.php"), ancak tarayıcıya verilen URL değiştirilemez söyleyebiliriz.

Benzer bir soru: http://stackoverflow.com/questions/471014/code-translation-asp-net-server-transfer-in-php

Bu soru http://stackoverflow.com/questions/653090/how-do-you-post-to-a-page-using-the-php-header-function burada istendi.

Birisi zaten neden her yerde onu göndermek gerekiyor verileri olsaydı, neden sadece o sayfadaki veriler üzerinde hareket edemez yorumladı?

Eğer URL verileri göstermeden yönlendirmek veriyi aktarmak gerekirse yönlendirme oturumundan veri almak ve oturum verileri yok ettikten sonra, sen, yönlendirme sayfası sonra oturumuna, ilk veri depolamak $ _SESSION kullanabilirsiniz ..

Eğer URL göstermeden başka bir siteye veri aktarmak gerekir Tamam, eğer u paypal transfer veri gibi yerine ... Javascript kullanmak zorunda. Sadece bir form yapmak ve sayfa yük otomatik formu göndermek için bir javascript kodu yazmak. Aşağıdaki örnek kod:

<form name="myform" action="handle-data.php">
Search: <input type='text' name='query' />
<a href="javascript: submitform()">Search</a>
</form>
<script type="text/javascript">
function submitform()
{
  document.myform.submit();
}
</script>