Is there a way to send 2 requests with a delay inbetween them without the user actively staying on the webpage

I’ll explain the question a bit clearer here.

So I have a button that sends a request through php when pressed. This request grants the user access to a Demo version of my service indefinitely. Is there a way to send a separate request 60 minutes later which is intended to expire their demo.

Could I simply create a php function that has a delay? Or would the user have to stay on the webpage in order for it to complete the function. Or is there another way to complete this that I’m not thinking of.

Thanks
-Andrew.