Or would a random.org number generator suffice?
The only way to do this and prove fairness would be to present the user with two options A and B - one of them wins and one loses.
It would be difficult (or impossible) to prove fairness if they only had one button to choose from (such as "FLIP").
Generate a string, such as
A=WIN|B=LOSE--lots-of-random-characters-$*(#$*9*($#$
or
A=LOSE|B=WIN--lots-of-random-characters-$*(#$*9*($#$
Then show the user a sha256 hash of that string and let THEM decide which button to press, A or B.
After they have clicked a button, you can show them the secret string, and they can match it to the hash to prove fairness.
In PHP?
6BTC