When you use date('blah blah') without a second parameter, it ALWAYS returns the current date, day, second whatever.
You need to use a second parameter, which is in the form of a UNIX timestamp, here's the code:
if(($x=strtotime($_POST['theirdate']))==-1){
//they submitted a bad date format
}else{
//the $x above will be used in date()
echo "That day is: " . date("l", $x);
}
check the php manual about strtotime