so here is what worked for:
you need to go to settings and reset network settings.
then power your phone off.
put your phone on a zip lock back and put it in the freezer for 10-15 min.
then power your phone back up, it should be fixed. It may last a couple of hours first time, so you may need to repeat it.
Also, i have read somewhere that the router security settings (WAP/WAP2, etc) may prevent iphone from connecting to it.