I'd like to know if Trump decides to carry out a military action against Iran, can it be prevented by the Congress? In other words, I want to know which steps are needed to declare war (approval by senate, house or both?). As I know, in the coming congress, Democrats have the majority; can they prevent the president entering into war?
Actually, this has been a debate that has been going on as long as the constitution has existed and came into closer focus during the Vietnam War.
According to the constitution, the president is the Commander-in-chief of the armed forces. He can order the army to invade without Congressional approval. That being said he CANNOT declare war. Only the congress can do that.
It doesn't sound like I have answered your question, does it? Well the truth is, he can order the armed forces to invade a country, but he can't declare war formally. That is why the Vietnam and Korean Wars are often called "police actions" because the president ordered the use of troops without a formal declaration of war being declared by congress.
So he can invade a country, but he can't stay there indefinitely without the support of congress, though the constitution never defines the length as to what is an reasonable amount of time.
In 1973, in response to the long occupation of Vietnam, congress passed the War Powers Resolution to try to limit the power of the president to use the armed forces, though it's constitutionality has been questioned. Many on the other hand say it is completely appropriate.
So to summarize and clarify, he can start military action, but he can't formally declare war on a country. So the opposition majority in Congress can't prevent the president from starting a military action. They can control the money and prevent it from being funded, though that might be a risky political strategy.