This is called directory listing. There are two (2) scenarios:
(1) You do not have an "index.html" file. The web searches for your homepage which should have the following extension or filename:
index.htm
index.html
index.php
home.htm
home.html
Basically, an index.html file is what the web recognizes.
(2) All files have been uploaded but are inside another directory or folder. For an instance, you have a folder named "mywebsitefiles" which has all your web files and you uploaded it inside public_html. When you access your website, you will see something like this:
Index of /~
Name Last modified Size Description
--------------------------------------------------------------------------------
Parent Directory -
cgi-bin/ 26-Mar-2009 14:12 -
mywebsitefiles 26-Mar-2009 14:12 -
--------------------------------------------------------------------------------
Move all contents of "mywebsitefiles" to your public_html directory and try visiting your website.