ciao,
certo che è possibile!
Mettiamo che ti crei un form con un campo nascosto che serve a php per capire che sta vendendo dal form e non da una chiamata diretta

<?php

if(isset($_POST['prov'])){ // si viene dal form, si processano i dati e si effettua il redirect
// si processano tutti i dati del form
$redirect_page = "la_pagina_del_redirect"; // imposti la pagina da aprire
header('location: ' . $redirect_page);

}
else{ // è una chiamata diretta quindi mostro il form
?>
<form action="...." method="post" name="...">
<input type="hidden" name="prov" value="form">

</form>
<?php
}
?>

è un esempio blando ma serve giusto per capirne la logica...