How to accept payments with Blockchain in PHP I am trying to set up sort of a BitPay system where

1) A user selects how much money they want to send (price in BTC).
2) The system gives the user an amount of money they need to pay and the address they need to send to.
3) The system checks if money is sent from the user's Bitcoin address, to the receiving address with the amount of bitcoins specified
4) If all is good, display a message or whatever, if not display error

How can I do this?
Since you say "sort of a BitPay system", I assume you don't want to use BitPay.

You can start with dissecting some of the work people have done in the space on repositories such as bitwasp or bitcoin-php. This is probably more than you need, however the building blocks are there for what you want to do if you wanted all of the logic to live in php.

If you want to actually generate addresses, here is a good place to start.

Here's a quick stab at a workflow that I think would be pretty straightforward to develop.

User enters value in their currency.
Querying an exchange rate table such as the one on Blockchain.info, display the amount in Bitcoin. 
You could generate a QR code using PHP QR as well as displaying a link to click/address to copy/paste, then verify that the transaction was completed using Blockchain.info or something else.

Or.... you could just use Blockchain.info's free tool, but I assume you have a reason why you want to build your own solution.

In the case that I'm mistaken and you do actually want to use BitPay, you would probably use either the Bill or the Invoice method of the BitPay API.