I have a simple C (of CRUD) function, and I’d like to send a message (error or success) along with my redirect from the “insert” function I have written up. Is there a way to adhere a POST field with a redirect?
In pseudo code I have:
function view_all{
//set up some initial variables
$this->load->view(viewing_page, $data)
}
function insert{
if ($this->db->insert(my_table, $_POST)){
$message = "All's well";
}
else {
$message = "whoops!";
}
redirect(view_all);
}
So the viewing_page ideally would have something like
if (isset($message)){
echo $message
}
So on the first time through, I don’t see any message, and when/if there’s an insert, it pops up the same page with the message. Thanks!
I believe
redirectusesheader(). If so, I don’t believe you can send data along with a location header. You could accomplish the same thing using session vars or (not as good) appending a query string to the location URL.For an ‘accepted’ way to do this in CodeIgniter look a little more than halfway down the session class documentation page.
This (now deleted – here’s an archived version) post on flash messages covers both the query string and the session var method.
Update: To summarize the now deleted post, it showed both urlencoding a message and appending as a query string (example from post):
And setting a ‘flash’ variable using two frameworks (example from post):
Of course you can do roughly the same thing using
$_SESSIONdirectly (my example):