Another way to go is to use the Personalize snippet
http://modxcms.com/Personalize-2.0-871.html which shows one chunk to logged in users and another to those not logged in.
You could use it to do what ganeshXL is suggesting.
[!Personalize? &yesChunk=`loggedInChunk` &noChunk=`notLoggedInChunk`!]
Then create the two chunks.
loggedInChunk:
<a href="[~11~]"Upload</a>
notLoggedInChunk:
<a href="[~12~]">Register</a>
(replace 11 and 12 with the document IDs of your upload and register pages.)
No matter which method you use, you’ll still need a way of kicking out users who come directly to the upload page without being logged in.
As usual, there are a number of different ways to do that.
One way to do it is to use the Personalize snippet again and make the noChunk redirect them to the login page and the yesChunk be your whole, regular upload page.
One last tip: When working on this kind of task, it works well to open the Manager in one browser and test the site as a non-logged in user in another browser (e.g. use IE for one task and Firefox for the other). If you use the same browser, MODx as will see you as a logged in manager in both windows.
Bob