To get the most out of the session, your fuel tank needs to be fully stocked. If you've eaten a main meal within three hours of starting to train you're likely to have enough energy. If not, have a simple high-carb snack such as a bagel with cream cheese or a muffin within one hour of the start of the session and that should see you through.
You need some carbs if you are to have the energy to lift weights, but you also need some protein - especially sources containing the amino acid leucine, such as lentils or beef - in your system because this will help prevent too much muscle breakdown and mean your body can start repairing damaged tissue straight away. A good example would be wholegrain toast with cottage cheese about an hour before the session.
If the session is shorter than an hour all you need to do is take on water to stay hydrated. If you train for longer then begin to consume some simple carbs in the form of energy gels or drinks, but only if you have tried them before - you don't want to upset your stomach.
All you need is water to keep you hydrated. A carb and protein shake towards the end of the session may help promote muscle repair and growth, but you won't need this if you can have a balanced meal soon after your shower.
Cardio and weights
As soon as you have finished training you need to take on some carbs and protein, typically in a ratio of four to one. After a hard session your muscles' energy stores are depleted: the carbs will replenish them while the protein will help rebuild the muscles to make them stronger ahead of the next session. Because your muscles are like a sponge after training, the sooner you can eat, the more of the nutrition they will soak up.