чтобы записать в базу данных данные мне нужен id
Насчет записать в БД, нужно понимать две различные ситуации:
а) вставка записи;
б) обновление записи.
Для вставки id передавать и знать не нужно, ключик сам должен генерироваться автоинкрементом или соответствующим триггером на insert.
Для обновления записи, естественно, нужно передавать какой-нибудь идентификатор или уникальную метку, чтобы однозначно можно было провести update с параметром. В примитивнейшем случае в качестве такой метки будет выступать идентификатор. Его можно передавать скрытым полем и этого будет достаточно.
<form action="" method="POST">
<input type="hidden" name="id" value="5"/>
<input type="sabmit" value="Отправить"/>
</form>
На стороне сервера имя и значение поля также отыскивается во входящих массивах, как и другие вводимые поля:
$id = $_POST['id']; // каким методом отправили форму, таким и принимаем на сервере - все просто.