!$varname will return a TRUE if the field is empty (i.e., $varname by itself in a conditional will yield in a false if empty). The || signs are for OR's. You can figure it out:
if (FALSE or FALSE or FALSE or FALSE)
will obviously produce a FALSE, which won't catch the filter. However, a
if (FALSE or FALSE or FALSE or TRUE)
will definitely get a TRUE, because it's an OR operator. Thus, if ANY of the fields are empty, then it'll take the viewer to show_menu.php3. That's basically it. Hope this helps 🙂