2016-05-20 7 views
7

Vorrei chiedere come posso invece di $ this-> load-> view ('some_view.php') alla fine del codice del controller, restituire l'utente alla pagina da dove ha metodo di controllo invocato? La semplice dichiarazione di reso non funziona.Codeigniter Controller tornare alla pagina precedente

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

risposta

12

Questo dovrebbe aiutare http://www.codeigniter.com/user_guide/libraries/user_agent.html

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

o PHP dritto:

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

C'è un modo per essere reindirizzato alla pagina precedente aggiornata? O per aggiornare semplicemente la pagina precedente? – luka032

+0

Non capisco cosa intendi. – CodeGodie

+0

Ho provato questa soluzione, ma non capisco cosa mi aspettassi. Proviamo a chiarire questo, ho un tavolo con le canzoni (prima colonna ho ottenuto il pulsante di acquisto che la mia vista ha generato in base ai fatti se non l'ho già comprato, se l'ho comprato metterei invece di "icona carrello" = pulsante di acquisto "qualcosa per informare che la canzone è già stata acquistata. Quando invoco il metodo controller e quando torno la mia vista non viene generata di nuovo (non vedrò cambiamenti sulla canzone che ho già acquistato a meno che non aggiorni la pagina) Il reindirizzamento – luka032

9

Ho trovato risposta su alcuni thread.

Nella pagina che si desidera tornare a che si può fare:

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

quindi reindirizzare torna a quella pagina

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

appena usato questo metodo e ha funzionato come un fascino, grazie! – MarcoZink

Problemi correlati