Not clear what not working. Couple of suggestion
1. I think the _POST keyword is case sensitive, replace _post with _POST
2. $number_accepted, not clear where it being declared, maybe $submit should be $number_accepted?
3. look like there some syntax error at the else statement.
<?php
$rand = mt_rand(0,20);
if (isset($_POST["number_accepted"]))
{
$number_accepted = $_POST["number_accepted"];
if ($number_accepted > 20 || $number_accepted < 0) {
echo "guess should be between 0 and 20 <br/>";
}
elseif ($number_accepted > $rand)
{
echo "guess to high <br/>";
}
elseif ($number_accepted < $rand)
{
echo "guess too low <br/>";
}
else
{
echo "congratulations " . $_POST["firstname"] . ' ' . $_POST["lastname"];
}
}
?>