Store the post as typed by the user, but when you send it to the browser, convert line feeds to <br> using preg_replace or similar:
$post = ereg_replace("\n","\n<p>",$post);
Since web form text entry boxes don't make it clear which lines are automatically wrapped and which are due to the user pressing Enter, it's more traditional to actually use blank lines to separate paragraphs, in which case you can use this code instead:
$post = ereg_replace("\n *\r\n","\n<p>\n",$post);
Hmm, I was going to post a complete post formatting function but some of the adverturous quoting using double backslashes got mangled in this forum's post formatting code, so I cut it out again. 🙂