1: pages aren't cache'd at server level unless you have a cache engine tunred on such as APC or a one in smarty or suchlike - you'd know if this where the case. I think you mean in peoples browsers, you want to send some headers along with your page headers are "no-cache" must-revalidate and expires date/in/past you send them with this in php header('headerbit: value'); must be at top of page - check php manual under headers, I'm sure there's an example of how to force a no cache by browsers. (not all obey though..)
Yeah, google the php content expires header. You'll need to send it so that the users browser knows when to query the server rather than their internal cache.