MVC deseni ve $ _POST değişkenleri

3 Cevap php

Ben bir PHP / MySQL tabanlı bir çerçeve ve CMS inşa ediyorum ve ben başka bir denetleyiciye, bir kontrolör bulunan bir formdan post yöntemi kullanılarak geçici değişkenlere şaşırıp kaldı. Daha doğrusu, ben dilleri değiştirmek için bir form inşa. Bu formu localhost / index / endeksinde yer alan ve bir dili seçtiğinizde change_language uygulama sınıfında kamusal bir işlev olduğu, bu http://localhost/application/change%5Flanguage için gider. Şey formdan $ _POST değişkenler, fonksiyon change_language için, geçmek kalmamasıdır. Bu işlevi, tüm $ _POST ağacı-ED var_dump, ve tüm ı got (0) {} dizidir. Ben yanlış ne yapıyorum, ya da neden bu çalışma değil mi? Benim İngilizce için üzgünüm. Şerefe

3 Cevap

Eğer üzerinden veri taşımak için seans kullanabilirsiniz benziyor. Ben CodeIgniter ve sonrası verileri ile bu sorun koştu. Ben, sonrası veri ile bir oturum oluşturulmuş bir şampiyon gibi çalıştı.

Yanlış gidiyor şeylerin çeşitli olabilir, bu yüzden yerine körü körüne yanlış ne olabilir tahmin yanlış ne bir göz atabilirsiniz burada bazı kod göndermek için iyi olacaktır.

Ilk olarak görünseler de düzgün işlev change_language için form değerleri sonrası yoktu gibi geliyor. Form düzgün oluşturulmuş olup olmadığını kontrol edin. Sen this bakmak isteyebilirsiniz.

MVC'ın perspektifinde, form View inside değil Denetleyici olmalıdır. Yani ben bir görünüm içinde formu koymak için tavsiye ediyorum ve sonra bu gibi form istek şey işleyecek bir Denetleyicisi formun eylem niteliğini belirtin:

<form name="myform" method="post" action="index.php/your_controller">
.... more stuff here
</from>

Şimdi form isteği işlemek için your_controller Controller size kodu:

class your_controller extends whateverparentcontroller
{
    print '<pre>';
    print_r($_POST);
}