have you considered upon page load storing the request somewhere else, a text file in your case... and have a seperate program outside of the webpage cron it every minute or x seconds... check the timestamp on the request, and execute the request if the timestamp is more that 15 minutes old?
is it important that the names are stored together. does the fact that one user is in the file effect any other names in the file? if not you could store each persons data seperate along with other user information in a database... and use a timestamp to detemine if they had previously executed your script 15 minutes ago on a per user basis
[this is not applicable directly to you but may help others]
or if you want... and this depends heavily upon what your script is doing... you could store the request specific to that user... and next page load from the user, im assuming sessions to track individual users... you check so see if there are any pending requests from this user.. if the request is 15 minutes old or more then run it then.... that way it only happens if and only if the user returns to your website... this is a more economical solution that doesn't use cron() but it is only applicable if the effect of the 15 minute delay only effect that user's data...