GET and POST are types of HTTP requests. The client (e.g. browser) will send the request to the server which can include GET/POST values
GET will come from a query string in the URL.
$_GET['something'] will be 'value';
POST occurs most often when the user has submitted a form, and it had a method of POST. The URL won't show a change as with GET, but the data will be sent as part of the request.
<form method="post" action="script.php">
<input type='text' name='something' value='value'>
$_POST['something'] will be 'value';
POST can be sent without a form.
There are different types of redirect. Typically the server will send a HTTP header to the user agent which has a redirect instruction, or a status code indicating the resource has moved.
Browsers will redirect in this case, but if you depend on your script end you must also call exit() because you can't trust them to redirect. It's just an instruction.