Может только публиковать первый результат цикла while

Я использую цикл while для отображения результатов запроса. Цикл while работает нормально. В скрытых полях я хотел бы опубликовать значения userID и accessID на странице сведений о пользователе. Я отправляю форму, используя javascript для отправки по ссылке. Моя проблема заключается в том, что независимо от имени пользователя, которое я нажимаю, я могу опубликовать только значения для первой отображаемой записи. Что я делаю не так?

Код:

<?php while($row = $result->fetch_array()) { ?> <form method="post" action="edit_user.php" id="userForm"> <tr> <td> <a href="#" onclick="return(submitForm())"><?php echo $row['firstname'].' '.$row['surname']; ?></a> <input type="hidden" name="userID" value="<?php echo $row['userID']; ?>" /> <input type="hidden" name="accessID" value="<?php echo $row['accessID']; ?>" /> </td> </tr> </form> <?php } ?> 

Javascript, используемый для отправки формы:

 function submitForm() { var form = document.getElementById("userForm"); form.submit(); } 

Спасибо. EDIT – я не хочу передавать значения в URL-адресе.

вы создаете несколько внутренних циклов <form> s, перемещаете свой <form> вне цикла while, например:

 <form method="post" action="edit_user.php" id="userForm"> <?php while($row = $result->fetch_array()) { ?> <tr> <td> <a href="#"><?php echo $row['firstname'].' '.$row['surname']; ?></a> <input type="hidden" name="userID[]" value="<?php echo $row['userID']; ?>" /> <input type="hidden" name="accessID[]" value="<?php echo $row['accessID']; ?>" /> </td> </tr> <?php } ?> <a href="#" onclick="return submitForm();">Submit</a> </form> 

Из-за этой линии вы столкнулись с проблемой

 var form = document.getElementById("userForm"); 

В Javascript и HTML идентификатор должен быть уникальным для определенного элемента DOM. В этом случае у вас есть целая загрузка тегов формы, которые имеют одинаковый идентификатор. Вам нужно предоставить каждой форме другой идентификатор, а затем передать этот идентификатор функции submitForm.

Например:

 <?php $id = 0; while($row = $result->fetch_array()) { ?> $id++; <form method="post" action="edit_user.php" id="<?php echo "userForm".$id ?>"> <tr> <td> <a href="#" onclick="return(submitForm("<?php echo "userForm".$id ?>"))"><?php echo $row['firstname'].' '.$row['surname']; ?></a> <input type="hidden" name="userID" value="<?php echo $row['userID']; ?>" /> <input type="hidden" name="accessID" value="<?php echo $row['accessID']; ?>" /> </td> </tr> </form> <?php } ?> 

а потом

 function submitForm(id) { var form = document.getElementById(id); form.submit(); } 

edit : как я php? : D