I appreciate your help! Here's what I came up with:
On the form page I have the following...
<?php
// Start session
session_start();
$id = uniqid();
$_SESSION['id'] = $id;
?>
Along with the hidden token to send to the process script...
<input type="hidden" name="id" value="<?php echo $id; ?>">
On the process page, I have the following to check the post id against the session id/token:
<?php
// Start session
session_start();
// Check the token to see if they match
if(isset($_POST['submit']) && $_POST['id'] == $_SESSION['id']) {
header("Location: ../offerform-thanks.php");
} else {
header("Location: ../offerform-expired.php");
}
// Invalidate the id/token so it expires
unset($_SESSION['id']);
?>
I feel like I'm getting close. But I have headers for both of the if statements, but the form is still processed for both if statements. Not quite sure how to not process a form as Traq had suggested. Am I on the right track at this point? I'm not a fast learner, but I'll get it. Thanks again for your help!