No coz, wiele nie zrobie, ale powtórze Ci to co napisał UDAT w nieco innej formie, bo wylapal chyba wszystkie bledy.

Zmienna $submit na początku, zdaje sie w ogóle nie mieć wartosci.
Nazwa zmiennej w tablicy $_POST jest okreslana przez atrybut name="" formularza. Ty pole formularza odpowiadajacym za haslo (linia 45) nazwales "haslo", a w linii 14 wprawdzasz, czy ustalona jest zmienna "password"(a nie jest, bo jak by miala byc?

).
Zapytanie do bazy, mogles zalatwic w ten sposob
SELECT name,haslo FROM zsp3a_uzytkownik WHERE id=1
name i haslo - po przecinku, wtedy jedna zmienna(tablica) odwolywala by sie i do hasla i do nazwy uzytkownika.
Zwoja droga, straszny system logowania. Zwlaszcza to where id=1

A co jak bedziesz mial dwoch uzytkownikow?

Lepiej dac takie zapytanie
<?php
SELECT * FROM zsp3a_uzytkownik WHERE name='".$name."' AND haslo='".$haslo."' ";
?>
I sprawdzić czy wynik takiego zapytania istnieje, czy ma wiecej niz 0 linijek. Jezeli ma - kombinacja haslo i ID - poprawne. Jezeli nie - niepoprawne.
htmlspecialchars zabezpiecza w pewnym stopniu od SQLInjection.
Oraz szczerze - męczysz się z tym skryptem juz od paru dni, zadajac duzo pytan na ktore odpowiedzi nie trzeba wcale szukać. Wystarczylo by zebyc przerobil pare kursow PHP/MySQL, lub kupil sobie ksiazke (Polecam - PHP i MySQL Vadamecum profesjonalisty - Luke Welling, Laura Thomson). Przerobienie kursow zajmie Ci góra pol dnia, a po przerobieniu ich taki skrypt, w wydaniu duzo bardziej profesjonalnym, zajmie Ci gora - drugie pol