I'm assuming that you're having trouble because the form fields are optional, and you're not sure how to build the conditions for your find. Here's a simple way:
$conditions = array();
if (!empty($this->data['User']['zip'])) {
$conditions[] = array('User.zip' => $this->data['User']['zip']);
}
if (!empty($this->data['User']['street'])) {
$conditions[] = array("User.street LIKE '%{$this->data['User']['street']}%'");
}
... etc
Finally, you can append the conditions either strictly:
$this->User->find('all', array('conditions' => $conditions));
Or, loosely:
$this->User->find('all', array('conditions' => array('or' => $conditions)));
The second form places the OR operand between your WHERE conditions so that it returns any particular match. Start off here and increase the complexity of the search slowly.