Shanhaiguan has lots of hotels in all price categories, unfortunately, most of them are not allowed to take foreigners. If you are Chinese, you can get economy rooms no bathroom in the train station area for Y40-50, or regular rooms starting at about Y80.
There are two hotels that have permission to take foreigners. One is listed below, the other is a smaller and cheaper place just south of the old town if anyone stays there, please fill in the details. To find it, ask around at the train station e.g. other hotels, taxi drivers. Taking a taxi to either of the two hotels should cost Y5.