You also need a strategy/process for syncing up database logins between the two sites.
And if you use SQL logins, then you need scripts/processes that sync up the database users associated with those logins because of the different SIDs.
That said, Mirroring or log shipping are the obvious candidates.
You need to get detailed information on what the actual SLAs are with respect to down-time and data-loss.
You do not want to start designing your solution before you have all the requirements.