Vehicular ad hoc networks are an emerging technology with an extensive capability in various applications including vehicles safety, traffic management and intelligent transportation systems. Considering the high mobility of vehicles and their inhomogeneous distributions, designing an efficient routing protocol seems necessary. Given the fact that a road is crowded at some sections and is not crowded at the others, the routing protocol should be able to dynamically make decisions. On the other hand, VANET networks environment is vulnerable at the time of data transmission. Broadcast routing, similar to opportunistic routing, could offer better efficiency compared to other protocols. In this paper, a fuzzy logic opportunistic routing (FLOR) protocol is presented in which the packet rebroadcasting decision-making process is carried out through the fuzzy logic system along with three input parameters of packet advancement, local density, and the number of duplicated delivered packets. The rebroadcasting procedures use the value of these parameters as inputs to the fuzzy logic system to resolve the issue of multicasting, considering the crowded and sparse zones. NS-2 simulator is used for evaluating the performance of the proposed FLOR protocol in terms of packet delivery ratio, the end-to-end delay, and the network throughput compared with the existing protocols such as: FLOODING, P-PERSISTENCE and FUZZBR. The performance comparison also emphasizes on effective utilization of the resources. Simulations on highway environment show that the proposed protocol has a better QoS efficiency compared to the above published methods in the literature