Hmmm... to jest jakiś trop i to całkiem nie głupi

Manipulacja mnie powiedzmy, że nie dotyczy, bo to będzie tylko lokalnie dostępne i nikt nie będzie ani umiał ani chciał manipulować danymi.
Ja chyba nie muszę wiedzieć co było tylko bardziej mnie interesuje tego ID, więc formularz można uprościć o pola hidden, ale co z nowo dodanymi przez JS?
Formularz ma wtedy wyglądać tak?
<input type="text" name="email[id_w_bazie-1]" /> <!-- id_w_bazie-1=456 --> <input type="text" name="email[id_w_bazie-2]" /> <!-- id_w_bazie-1=500 --> <input type="text" name="email[id_w_bazie-3]" /> <!-- id_w_bazie-1=567 --> <!-- doddane przez JS -->
<input type="text" name="email[]" /> <!-- jaka tu jest wartość
? -->
OK. Wielkiej pomocy nie otrzymałem, ale jakiś trop chociaż.
Problem rozwiązałem samemu w następujący sposób:
1. Problem oddzielenia danych edytowanych od nowych jest trywialny, ale trzeba było to przemyśleć. Wystarczy przecież inaczej nazwać pola imput i po sprawie.
2. Mając ten pomysł idzie już z górki, bo w pętli pokazujemy wypełnione pola i zarazem robimy sobie w nazwach tablicę z indexami z bazy
echo '<input type="text" name="nasze_pole['.$dd['id_z_bazy'].']" value="'.$dd['wartosc'].'" />'; }
Tym sposobem po wysłaniu formularza wróci nam w zmiennej POST tablica wartosciami i ich indeksami. Teraz tylko w pętli foreach update wszystkiego:
foreach($_POST['nasze_pole'] as $id => $dane){
$sql = "update tabela set nasza_dana='$dane' where id='$id'";
}
Drugą częśc problemu rozwiązujemy podobnie, ale zamiast gotowych pól dodajemy nowe za pomocą JS i wystarczy że bądą miały inną nazwe np.:
<input type="text" name="naszae_nowe_pole[]" />
Tu nie trzeba wpisywać indeksów, bo wypełniają się automatycznie od 0. Jak wyślemy formularz to obrabiamy zmienna POST tak samo tylko że robimy insert.
Jest to chyba najprostsze rozwiązanie.
We wcześniejszym poście
ayeo pisał, że podawanie id nie jest zbyt bezpieczne. Zgadzam się z tym i jestem ciekaw jak to zabezpieczyć lub jak zrobić bezpieczniejsze rozwiązanie problemu