There's a small difference between the two.
Verbs in Chinese remain in the present tense, (看, see,吃,eat, 喝drink)unless you add something before or after it. 过 placed after a verb changes the meaning to past tense.
Example:
吃 = eat,
吃过 = "has eaten" (in the past).
你吃过月饼吗- have you eaten moon cake?
你看过这部电影吗- have you seen this movie?
你去过上海吗- have you been to Shang Hai?
了, when placed after a verb, just expresses that the action has been completed.
吃 = eat
吃了 = ate
Example: 我吃了葡萄和草莓。- I ate grapes and strawberries.
Another example: the verb 买, means "to buy" when 了 is placed after it, it becomes 买了 "bought"
我买了一本杂志- I bought one magazine.
In Chinese, people sometimes use them the same way but 过 tells of experience, while 了 just indicates the action being completed. Asking 你吃了饺子吗 and 你吃过饺子吗 expresses two different things. 你吃了饺子吗 is asking in general "did you eat dumplings" the person can be referring to today or yesterday or this morning. 你吃过饺子吗- is really asking "have you ever had dumplings?" meaning have you had it in the past?