У меня эти флажки, используемые для идентификации (если отмечено), должны посылаться по электронной почте соответствующему клиенту, он должен быть предварительно проверен.Флажок не получил правильного порядка
Но когда он предварительно проверен, а затем, когда я снял флажок, например, multipayment_email [1], когда он отправлен на PHP, тот, который получает unset, является последним индексом multipayment_email [4].
list_payments.php
:
<form method="POST">
<?php while($row = mysqli_fetch_array($selectQuery) { ?>
<input type="text" name="multipayment_name[]" required/>
<input type="checkbox" name="multipayment_email[]" checked />
<?php } ?>
</form>
SUBMIT_payment.php:
$names = $_POST['multipayment_name'];
$emails = $_POST['multipayment_email'];
foreach ($names as $key => $name)
{
$email = isset($emails[$key]) ? 1:0;
$query = "INSERT INTO payments() VALUES (NULL, '$name', $email)";
$response['message'] .= $query."<br/>";
}
die(json_encode($response));
Так что, когда я отправить форму, вывод (учитывая, что я необузданный 2-й индекс из 5 флажков):
"INSERT INTO payments() VALUES (NULL, '1 waw', 1)"
"INSERT INTO payments() VALUES (NULL, '2 wew', 1)"
"INSERT INTO payments() VALUES (NULL, '3 wiw', 1)"
"INSERT INTO payments() VALUES (NULL, '4 wow', 1)"
"INSERT INTO payments() VALUES (NULL, '5 wuw', 0)"
Должно быть
"INSERT INTO payments() VALUES (NULL, '2 wew', 0)"
любое просвещение?
Это не связано с вашим вопросом, но этот код уязвим для SQL-инъекции. Представьте, что произойдет, если someones * name * будет '',' '); DROP TABLE payments; ' – Keatinge
Ваш размер' $ name' и '$ emails'array не то же самое, поэтому вы не можете использовать ключи' $ names' для '$ emails' – anon