質問: いつもお世話になっております。formにてデータを送信できず、困っています。皆様のお知恵を拝借したく存じます。 初学者なもので、ご迷惑をお掛けするかも知れませんがよろしくお願い致します。 ### 前提・実現したいこと php,bootstrapを使ってインスタ風のサービスを作っています。 投稿の一覧表示内で論理削除ボタンを設置し、モーダルにて確認し、 formにてpost_idを送って、そのidを元にDBにアクセスし論理削除を行いたい。 ・他のページでは、bootstrapのformは使えている。 ・var_dumpしてどの時点でデータが送れていないのか、確認してformデータが送信できていないと判明している。 var_dump($_POST['is_deleted']); -> NULL 又、このようなことしなくてもこうやればできるよ!なども教えて頂ければ幸いです。 編集・追記依頼の部分の画像になります ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/978c2c3bd89d812af9823a6fe2aad42b.png) ### 該当のソースコード html bootstrap(modal) ``` 投稿の削除 × 本当に削除しますか? 論理削除なので投稿自体は削除されません ``` ### 該当のソースコード php ``` prepare('UPDATE posts SET is_deleted=1 WHERE post_id=?'); $postIsDeleted->execute($_POST['is_deleted']); header('Location: index.php'); exit(); } ?> ``` ### 試したこと 同じような問題が記事になっていないか検索したところ ・モーダルを覆うようにを書く →特に変わらない ・type="submit"をモーダルの外側に書く →モーダル内に送信ボタンを入れたいので却下(試していない) ・idやnameをユーモアな名前に変更 →最初はid,name共にdeleteでしたがis_deletedに変更 →特に変わらない ### 補足情報(FW/ツールのバージョンなど) AWS EC2 PHP 7.0.33 (cli) (built: Jan 9 2019 22:04:26) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies bootstrap 4.1.3 必要な情報が足りないようでしたら、言って頂ければ追記致します。
回答: 非常に初歩的なことでした。 $postIsDeleted->execute($_POST['is_deleted']); ではなく $postIsDeleted->execute(array($_POST['is_deleted'])); でした。 executeする変数が1つだったためarrayがいらないと思っていました。 リファレンスの確認不足でした。 お騒がせしました。 PDOStatement::execute https://www.php.net/manual/ja/pdostatement.execute.php