2016-05-20 54 views
7

Denetleyici kodunun sonunda $ this-> load-> view ('some_view.php') yerine bunun yerine nasıl kullanılabileceğini sormak isterim. çağrılan denetleyici yöntemi? Basit iade beyanı çalışmıyor.Codeigniter Denetleyici bir önceki sayfaya dön

ie.

public function someMethod($IDCustomer) { 

    $this->Some_modal->persist($IDCustomer); 
    // how to return to previous page instead of line after? 
    // i've used $this->load->view('someView.php'); 
} 

cevap

12

geri yönlendirmek Bu yardımcı olmalıdır http://www.codeigniter.com/user_guide/libraries/user_agent.html

$this->load->library('user_agent'); 
if ($this->agent->is_referral()) 
{ 
    echo $this->agent->referrer(); 
} 

veya düz PHP:

Sadece bu yöntemi kullanılmış ve bir cazibe gibi çalıştı
redirect($_SERVER['HTTP_REFERER']); 
+0

Yenilenmiş bir önceki sayfaya yönlendirilmek için herhangi bir yolu var mı? Ya da sadece önceki sayfayı yenilemek için? – luka032

+0

Ne demek istediğini anlamadım. – CodeGodie

+0

Bu çözümü denedim, ancak beklediğim şeyi anlamıyorum. Bunu açıklığa kavuşturmaya çalışalım, şarkıları olan bir tablo var (ilk sütunu satın aldığım düğmeyi satın aldığımda aldım, eğer satın almamış olsaydım, satın alsaydım yerine "sepeti simgesi" = satın al düğmesi "o şarkıyı zaten satın aldığını bildirmek için bir şeyler. Denetleyici yöntemini çağırdığımda ve geri döndüğümde görünümüm tekrar oluşturulmaz (sayfayı yenilemediğim sürece önceden satın aldığım şarkıdaki değişikliği görmeyeceğim) – luka032

9

Bazı iş parçacığı üzerinde yanıt buldum. Yapabileceğiniz size geri dönmek istiyorum sayfasında

:

$this->session->set_userdata('referred_from', current_url());

Sonra o sayfaya

$referred_from = $this->session->userdata('referred_from'); 
redirect($referred_from, 'refresh'); 
+0

, teşekkürler! – MarcoZink