kullanarak basit bir giriş sistemi oluşturmaya çalışıyorum. Her şey dizüstü bilgisayarımda MAMP üzerinde iyi çalışıyor ancak betiği sunucuya yüklediğimde (Windows) çalışmıyor; $ _POST dizisinin boş olduğu anlaşılıyor.
Çıplak kemikler dışında her şeyi açıkladım ve hala çalışmıyor.
index.php:
<form id="login-form" method="POST" action="_scripts/check_login.php">
Email Address
<input name="login-email" type="text" id="login-email">
Password
<input name="login-password" type="text" id="login-password">
<input type="submit" name="Submit" id="login-button" value="Login">
</form>
_scripts/check_login.php: (Ben hata ayıklama için bazı var_dumps dışında her şeyi kaldırdık)
var_dump($_POST);
$loginEmail = trim($_POST['login-email']);
echo '<br>';
$loginPassword = ($_POST['login-password']);
var_dump($loginEmail);
echo '<br>';
var_dump($loginPassword);
olursa olsun formu, gönderdiğinizde ne metin alanları koymak, bu bkz:
array(0) { }
string(0) ""
NULL
ben a'da "get" için "post" tüm örneklerini değiştirirseniz iki dosya dola, her şey iyi çalışıyor. Ama ben kullanmak istemiyorum. ($ _REQUEST, yöntemi = "post" kullanarak formu gönderirsem çalışmaz).
NB bu özellik localhost'ta çalışıyor ancak sunucuda çalışmıyor (Windows çalıştıran). Sunucuyla ilgili bir sorun gibi görünüyor, ancak ne olduğu hakkında hiçbir fikrim yok. PHPInfo'yı buradan görebilirsiniz: http://brailleapps.org/phpinf0.php
Herhangi bir fikrin var mı?
DÜZENLEME: Çözüldü! Aşağıya bakınız.
http://www.iis.net/configreference/system.webserver/security/requestfiltering/verbs
'$ _SERVER' POST istekleri için ne içeriyor? Enctype'ı denediniz mi? FastCGI istemcisinin [POST IIS için fiil] (http: // stackoverflow) almasına izin veriliyor mu?com/sorular/313188/boş sonrası dizi-in-php-5-2-6-iis-cgi)? – mario
biz aynı sorun vardı ama biz sunucuya taşındı ajax yayın çalışmıyor. Uzun bir mücadeleden sonra sunucunun mod yeniden yazma modülünü kapattık. Bir kez açıldığında her şey yolunda. Bu kontrol edin.Ama benim bilgi başına POST ve mod rewrite ile hiçbir ilişki yoktur.Sadece bir deneyin. – Samy
Bu, içerik türünde bir sorun olabilir. Hiçbir içerik türü kurtarılmamışsa veya eksikse, o zaman $ _POST 'boş demektir. Eğer (boş ($ _ SERVER ['CONTENT_TYPE'])) {$ _SERVER ['CONTENT_TYPE'] = "application/x-www-form-urlencoded";} 'seçeneğini ayarlamayı deneyin. Ve var_dump nedir (file_get_contents ('php: // input')); 'deyin? – Quasdunk