How can I force a user to submit webform before viewing certain pages? I have a client who wants a webform to pop up when a user views a search result page. They want to user to submit their contact info in order to view the results, but only once in case they search multiple times.
Your best bet is to use this the splasify module: https://drupal.org/project/splashify

As for popping it up only once, you'll have to set a cookie somehow to track that it has popped up already. It might be suppored in that module already.