2016-05-20 34 views
7

Chciałbym zapytać, jak mogę zamiast $ this-> załadować-> widok ("some_view.php") na końcu kodu kontrolera, powrócić użytkownika do strony z której on wywoływana metoda kontrolera? Prosta instrukcja return nie działa.Kontroler kodowania Powrót do poprzedniej strony

tj.

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'); 
} 

Odpowiedz

12

To powinno pomóc http://www.codeigniter.com/user_guide/libraries/user_agent.html

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

lub prosto PHP:

redirect($_SERVER['HTTP_REFERER']); 
+0

Czy istnieje sposób przekierowania na odświeżoną poprzednią stronę? Lub po prostu odświeżyć poprzednią stronę? – luka032

+0

Nie rozumiem o co ci chodzi. – CodeGodie

+0

Próbowałem tego rozwiązania, ale nie dostałem rzeczy, której się spodziewałem. Spróbujmy to wyjaśnić, mam tabelę z piosenkami (pierwsza kolumna dostałem przycisk kupowania, który mój widok wygenerował na podstawie faktu, że gdybym go jeszcze nie kupił, kupiłbym go zamiast "ikony koszyka" = kup przycisk "coś, co informuje, że utwór jest już kupiony. Kiedy wzywam metodę kontrolera i kiedy wracam, mój widok nie jest generowany ponownie (nie zobaczę zmiany w piosence, którą już kupiłem, chyba że odświeżam stronę) Przekierowanie – luka032

9

Znalazłem odpowiedź w pewnym wątku.

Na stronie, że chcesz wrócić do was może zrobić:

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

Wtedy przekierowanie z powrotem do tej strony

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

Wystarczy stosować tę metodę i pracował jak czar, dzięki! – MarcoZink

Powiązane problemy