У меня есть содержимое, сгенерированное с помощью базы данных в таблице с кнопками редактирования и удаления в форме в конце строки.Зачем удалять пустые кнопки редактирования кнопки редактирования
<td>
<form action="?" method="post">
<div class="">
<input type="hidden" name="id" value="<?php htmlspecialchars($item['id']); ?>">
<input type="hidden" name="action" value="edit_daily_shift_report">
<input type="submit" value="Edit" onclick="return confirm('Edit this report?');">
<input type="hidden" name="action" value="delete_daily_shift_report">
<input type="submit" value="Delete" onclick="return confirm('Delete this report?');">
</div>
</form>
</td>
Если я удаляю кнопку удаления, код редактирования работает нормально. Но при наличии обеих кнопок кнопка редактирования выходит из строя, и элемент в строке удаляется. Я в тупике. Мало того, что значение действия кнопки редактирования игнорируется, выполняется действие значения кнопки удаления. Любая помощь приветствуется!
Вот контроллер редактировать и удалять код:
/*********************** Edit Daily Shift Report ************************/
if (isset($_POST['action']) && $_POST['action'] === 'edit_daily_shift_report')
{
include '../includes/dbconnect-local.php';
try
{
$sql = 'SELECT * FROM daily_shift_report WHERE id = :id';
$s = $db->prepare($sql);
$s->bindValue(':id', $_POST['id']);
$s->execute();
}
catch (PDOException $e)
{
$error = 'Error deleting data.' . $e->getMessage();
include 'error.html.php';
exit();
}
// Assign page title value
$pageTitle = 'Edit Daily Shift Report';
// Store single row resut in $item associative array
$item = $s->fetch(PDO::FETCH_ASSOC);
// Display report content in form
include 'edit_daily_shift_report.html.php';
exit();
}
/********************* Delete from Daily Shift Report *******************/
if (isset($_POST['action']) && $_POST['action'] === 'delete_daily_shift_report')
{
include '../includes/dbconnect-local.php';
try
{
$sql = 'DELETE FROM daily_shift_report WHERE id = :id';
$s = $db->prepare($sql);
$s->bindValue(':id', $_POST['id']);
$s->execute();
}
catch (PDOException $e)
{
$error = 'Error deleting data.' . $e->getMessage();
include 'error.html.php';
exit();
}
echo '<span style="color:#ff0000;">Daily Shift Report DELETED successfully!</span>';
}
Спасибо.
Одна вещь, о которой я забыл упомянуть. Когда у вас есть поля с тем же именем, значение будет перезаписано следующим одноименным именем. Единственное исключение - если вы используете [] в имени. Php видит, что ås массив и сделает это поле и массив для вас – Morten
Спасибо @Morten! Извините за мою задержку в ответе. Спасибо, что нашли время, чтобы взглянуть на это. Я решил его до вашего решения, создав две формы и поместив каждый в свой собственный