Przesyłanie zmiennych i kilka innych pytań

Cześć, mam plik edytuj.php który pobiera nr id tego co chce edytować i wpisuje to wszystko z bazy do okienek formularza - czyli standard. Problem w tym że dalej potrzebuje ten id. Napisałem w formularzu więc coś takiego:

Po wysłaniu, id także poprawnie sie wysyła, ale gdy próbuje zrobić coś takiego już nie działa:

if(isset($id)) {

  $wynik=mysql_query("UPDATE tabela SET km='$km',masa='$masa',opis='$opis' WHERE id='$id'") or die (mysql_error()); 

  }

A tak poza tym kilka pytań:

  1. W jaki sposób mogę sprawdzić co użytkownik zmodyfikował podczas edycji, chodzi o to aby po prostu wszystkiego nie wprowadzać ponownie do bazy (no chyba ze tak wychodzi szybciej)

  2. Lepiej mieć dane w jednej tabeli czy w kilku (robię system w którym struktura wszystkich tabeli jest taka sama, chodzi więc mi głównie o szybkość wyszukiwania itd.) ?

  3. Logowanie z podziałem na moderatora, admina i resztę: jedyne co mi przychodzi do głowy to nadanie statusu każej osobie jako sesji. np. 1 dla admina, 2 dla reszty; ale wtedy w bazie i tak będę miał 98% ludzi ze statusem np.3, więc chyba trochę bez sensu. Da się to jakoś lepiej rozwiązać?