Im 1. Code gehören statt den ORs ANDs rein?
Im 2. ein in_array(), würde ich sagen, damits korrekt funktioniert.