The front panel glass of my 3Gs was smashed, but everything else worked.
All well after some fighting to get the broken glass away. It looked OK and I had only to pinch the new glass and old frame together; a bit to eagerly though; I happened to bend one of the small contacts for the home button. Trying to bend it back, it broke of course and the phone was now completely useless.
After a lot of swearing I decided to look up the problem on the internet, and of course it had happened before. One guy had soldered two wires from the front to the body of the phone so it hung together. A bit too unsophisticated I thought, so I went for a simpler solution. I hammer a tiny bit from a copper wire and just soldered it on where the broken contact had been. So after 2 trials I managed to get it flexible enough. Success, but I think I was lucky there.
Don´t go for the cheap solution buy the complete front panel set!
I consider myself quite advanced when it comes to DIY stuff. Like taking my old Powerbook completely apart twice, but this was a scary operation.