OnTriggerEnter2D call again and again if there is not collision of bodies in Unity 4.3

I have two 2D cars, one is player car which is continues moving, and second opponent car which is static. and both x and y is same but z is different, lets say player car start from 0 and end to 100 and opponent car stay on 50, I want when player car reaches to 50 then it collide with opponent car and trigger function should call but this not happen. What happen is that when player car start moving from 0th position toward 100th trigger enter function start calling again and again and again. Both object have box collider(also checked with polygon) with istrigger option enabled. Opponent car is rigidbody but gravity 0. I also have road sprite image but this has not collider or rigidbody. What I think that I am working on 2D and also using z axis because of using z-axis this may be problem its may be wrong but thats my thoughts. Kindly tell me what should I do to tackle with this issue. Thanks in advance.

Question: Are you working in 2D mode?
The Reason for my pondering is that by default there is no Z. Okay corrections there is a Z but it’s Zero (Zero being nothing you can again say that there is no Z but you can still use it).

Here’s where my proposal comes in: I’m under the assumption that Again there is “no Z”. More specifically in the physics system. Makes since right. There’s only 2 Dimensions, so get rid of the one the makes the least sense to use “Z” and make the physics system completely X and Y based.

On Another note:
If your in 2D It should actually look weird to use the Z because of the fact the camera is orthographic.

Fix: Do it on the X axis instead of the Z