What are you going to cook tonight? (你)今天晚上煮/吃什么?(吃 is more common than 煮 in oral language)
What have you cooked for dinner? (你)晚餐做了什么? / (你)什么了?
1.If you use these two sentences in real life, we all know what is the time and who you are talk to, so it is not very need to point out "you" or "dinner".
2.The first sentence is "going to", so you do not know what kind of dinner exactly.We use this question when you see your friend or your wife planning to supermarket or coming back from shopping. I mean, in the duration of preparing and you have no idea about the dinner.
3. The second sentence is "have cooked". So the action is finished. But you have not saw the dish and you want to know. Maybe you just come back home.
4.今晚的晚餐你煮了什么? If you really want to use complete sentence, I suggest you put object in front of the sentence. It emphasizes the thing you want to know and the answer would follow the same order easy to understand.