existen muchas formas, he aquí un articulo que hace uso de php como script del lado del servidor:
http://www.ribosomatic.com/articulos...movil-con-php/
podrás distinguir hasta cierto punto un navegador de un dispositivo móvil de uno convencional (pc), pero no de un notebook debido a que usan navegadores convencionales como cualquier PC, la diferencia pudiese ser el ipad o dispositivos similares, pero si estos tienen la suficiente capacidad para soportar un navegador pleno, no creo que el mismo navegador sea diferente de uno normal y dudo mucho que el mismo se presente como "dispositivo
handheld" y no puedas diferenciarlo de una pc convencional, suerte