First of all, it's impossible.
There are a half dozen ways that you can make it difficult for someone to post from anywhere else... and that might be enough for you... but since you used the magic phrase, "from a security point of view", you have to realize that no matter how hard you try, there's nothing you can do to make it 100% impossible to post to the page from some other site.
You can check the referrer variable which will stop average users from posting from anywhere but the real site. But that technique won't stop any of the hackers.
You can put a captcha test (or any other kind of test) and that will stop about 10% of the hackers (the dumb ones).
You have to think of it like this: The data shows up - it just arrives. Your web server was sitting around, waiting for something to do and then Boom! Data arrives. The web is stateless - you don't open and maintain a connection between your web site and the end user's machine.
If you really want to try, check the referrer variable. Also, embed a random number in the form (MyRegistrationForm.php) and write it to a database. Then on the processing page (MyUserCreation.php) when that number gets passed in, check your database to see if you actually did write that number to your database in the last few minutes. If so, then you can be sure that this user did actually visit the form before arriving at the creation page.
But let's say that you don't want me to automatically create a million users on your web site and you used those two tricks. Here's what I'd do: I'd write a script that visits your form, finds the random number, and then create a post (including the random number) and then use Curl to change my referrer variable and post to your User creation page. And then loop, so that I could make a million accounts.
So let's say you put a captcha on the page so that I can't automate the process. Fine, this slows me down so that I can't automate the process - but I can still use Curl to fake the referrer variable, manually provide the captcha, and then alter the value of anything I want in the post ($_REQUEST string), any way that I want. So while you have slowed me down, you haven't done anything to guarantee that I'm actually using your form and posting from your page and that the post came through unaltered.