Hi, I would suggest that you use the $FILES superglobal to refer to your uploaded files. eg, original name of file = $FILES['userfile']['name'].
Now, your problem is that you're trying to send the ORIGINAL file to the ftp, rather than the temporary uploaded file. Change this:
$upload = ftp_put ($connect, $newfile, $Userfile, FTP_BINARY);
to this:
$upload = ftp_put ($connect, $newfile, $_FILES['userfile']['tmp_name'], FTP_BINARY);
Hope that helps!
Matt