Bir. NET HttpModule RewritePath çağrı hedef bir PHP dosyası olduğunda $ _POST dizi boştur

1 Cevap php

Biz adresler yeniden yazmak için HttpModule özel bir kullanan IIS 6 üzerinde bir uygulama çalıştırıyorum. Bu Context.RewritePath hedef bir. Php dosya durumlar dışında (bize de yapılır) harika çalışıyor. Beklendiği gibi php dosyası çalıştırılır, ancak $ _POST koleksiyonu bu yeniden yazılmıştır URL'ler gönderilen herhangi formları erişemez yani boştur. Için yeniden zaman sorun yok. Aspx dosyaları Request.Form koleksiyon gayet iyi gibi.

My question therefore has two parts: Why is the $_POST collection not being populated? Is there a way to ensure that the .php $_POST collection is correctly populated after a rewrite?

Ben kod yolu göstermek için çok fazla yok. Sadece basit var:

context.RewritePath(newPath);

HttpModule nerede isteği göndermek anladım sonra.

Edit: Interestingly, if I do var_dump(file_get_contents('php://input')); in the PHP file (method described here) the contents of the form is displayed. So the data is reaching the PHP script but not the $_POST array.

1 Cevap

Yönlendirme başlangıçta gönderilen herhangi POST parametreleri kayıp anlamına gelir, bir GET eyleme POST eylemi döner. Siz boyunca değişkenleri geçmek için bir arka kanal yöntemi (örn. seans) kullanmanız gerekir.