My son is 22.5 months. I give him fruit smoothie (no added sugar and made with either whole milk or unsweetened whole milk yogurt) in those Starbucks cold straw cup. He never tried to pour it out and he cannot pull out the straw because the straw is ridged at the end. I only give him half to 3/4 of a cup so even if he accidentally tips it over it won't spill. Once he sets it down, I take it away.
It's a bit tricky giving him water. He likes to drink out of my glass water bottle (just a clean recycled Snapple bottle) with a straw most of the time and pull out the straw. I have to watch him closely when he demands to hold it himself. When he would cooperate, I'd hold the bottle. If he EVER spits his water out then I immediately take away the bottle. No second chances and he won't get it the next time he wants it.
I also save certain reusable togo cups that he seems fond of from restaurants we go to and rotate through them too. The rotation seems to give him that sense of newness and he seems less inclined to play with them. Oddly. All of them have a lid. I particularly like the CPKids one because the lid is tighter. The biodegradeable ones break down easily.
You just have to be firm and strict to not encourage him to play with his water. Though letting him explore and discover things on his own is awesome, some things aren't toys and he has to learn. "Eventually" they do learn but if you don't want to keep cleaning/wiping, you have to discipline him.