Either from when they join with
game.Players.PlayerAdded:connect(function(player)
or from their user name,
game.Players.LocalPlayer.Name
how can I get their ID?
The userId is a property that you can get from a player instance
game.Players.LocalPlayer.UserId
If you want to find the userId from a player which is not in the game, you might wanna use this function http://wiki.roblox.com/index.php?title=API:Class/Players/GetUserIdFromNameAsync
And of course, you can get a player's name from userId http://wiki.roblox.com/index.php?title=API:Class/Players/GetNameFromUserIdAsync
You should take a look at the Roblox API if you need specific functions, they might already exist.