None of those 3 items are parse errors.
"Undefined Index" in your case is a NOTICE. PHP has a few types of errors: ERROR, WARNING, NOTICE.
Most of the time a NOTICE doesn't mean a whole lot. It's a friendly recommendation which in this case says you are trying to access part of an array that has not yet been defined:
$user=$_POST['user'];
If a user visits the page and hasn't clicked "submit" yet then $POST['user'] will not be defined. Nor will $POST['password']. You might want to put those two lines in the section of your code that runs which someone actually clicks the submit button.
Or you could check first to see if they are defined with [man]isset[/man].
Still another possibility is that you could tell PHP to shut the hell up about these NOTICEs. It's generally not a good idea to ignore notices -- and especially warnings. However, it probably wouldn't hurt in this case. You can use the [man]error_reporting[/man] command to change the error reporting level.
The warning you get mysql_result is because your query didn't work. You need to be checking your mysql_X actions to see if they work.
for instance instead of this:
$con=mysql_connect("localhost", "root", "");
You should check to see if it works before you try to do any other stuff with the db:
$con=mysql_connect("localhost", "root", "");
if (!$con) die('$con is false. The database connect failed');
Read the documentation on [man]mysql_connect[/man] for more information and example code. The PHP documentation is really good and really informative. Get to know the code you are using. The tutorials will only take you so far.