У меня форма содержит один вход (кнопка типа) и одно изображение. когда я нажимаю на кнопку, она должна удалить изображение (отправьте форму и получите значение ввода, которое является идентификатором изображения, используя метод post). Но я не могу получить доступ к значению ввода, когда оно у меня внутри цикла foreach. потому что каждый вход, созданный внутри foreach, имеет одно и то же имя. https://i.imgur.com/ed9Vv9m.png
я попробовал var_dump, и там просто нулевое значение.
это форма внутри вида камеры:
foreach($data['galleries'] as $gallery) :
?>
<div align=center>
<form action="<?php echo URLROOT; ?>/gelleries/camera"
method="post">
<input type="button" class="button" name="delete" id="abc"
value="<?php echo $gallery->galleryId; ?>" onclick="return
Deleteqry(<?php echo $gallery->galleryId; ?>);">
</div>
</form>
<?php endforeach; ?>
и это контроллер:
<?php
class Galleries extends Controller {
$this->galleryModel = $this->model('Gallery');
}
$galleries = $this->galleryModel->hiFive();
$datashow = [
'galleries' => $galleries
];
.....
public function camera(){
if (isset($_POST['delete']) && !empty($_POST["delete"])){
$imgid = $_POST["delete"];
$this->galleryModel->deleteimg($imgid);
echo "deleted!";
exit;
}
else
echo "error";
$this->view('/galleries/camera', $datashow);
}
и это модель, в которой я выполняю запросы:
<?php
class Gallery {
private $db;
public function __construct(){
$this->db = new Database;
}
.....
public function deleteimg($id){
$this->db->query("DELETE FROM galleries WHERE id = :id");
$this->db->bind(':id', $id);
if($this->db->execute()){
return true;
} else {
return false;
}
}
}
Событие Deleteqry внутри onclick кнопки - это просто функция, в которой я проверяю, получаю ли я идентификаторизображение, когда я нажимаю на кнопку:
function Deleteqry(id)
{
if(confirm("Are you sure you want to delete this row?")==true)
window.location="http://localhost:8001/camagru/galleries/camera?
&del="+id;
return false;
}