ラジオボタンで選択しているレコードの情報(ID)をPOSTで送り、編集画面を作成したいです。
ですが、現在POSTで取得できておらず変数の中身がnull状態で進めることができません。
※ラジオボタンはレコード全件分だけforeachで表示させています。
DB設計
DB名:DSS
テーブル名:M_COMPANY
COMPANY_ID | COMPANY_name | COMPANY_TL |
---|---|---|
0001 | 株式会社test | カブシキガイシャテスト |
実現したい動作
1.編集したいレコードをラジオボタンで選択。(index.php)
2.選択された該当のレコードのみを編集できるようにする(edit.php)
index
1 <tbody> 2 <?php foreach($M_COMPANY as $data):?> 3 <tr> 4 <td><input type="radio" name="record" value="<?=$data['company_ID'] ?>" data-json="<?=htmlspecialchars(json_encode($data))?>"></td> 5 <td><?php echo $data['company_ID']; ?></td> 6 <td><?php echo $data['company_name']; ?></td> 7 <td><?php echo $data['company_TL']; ?></td> 8 <td><?php echo $data['postal']; ?></td> 9 <td><?php echo $data['address']; ?></td> 10 <td><?php echo $data['department']; ?></td> 11 <td><?php echo $data['tel']; ?></td> 12 <td><?php echo $data['fax']; ?></td> 13 <td><?php echo $data['email']; ?></td> 14 </tr> 15 <?php endforeach; ?> 16 </tbody> 17 </table> 18 19 <a href="register.php">新規会員登録</a> 20 <button type="submit" name="company_ID" onclick="location.href='edit.php'" value="<?=$data['company_ID'] ?>">編集</button> 21 <button type="button" class="btn btn-red">削除</button> 22
edit.php
1 2<?php 3 session_start(); 4 5 $company_ID = isset($_POST['company_ID'])? htmlspecialchars($_POST['company_ID'],ENT_QUOTES,'utf-8'):''; 6 7 if($company_ID == 'company_ID'){ 8 header("Location:./test.php"); 9 exit; 10 } 11 12 //DB接続 13 try{ 14 $dbh = new PDO('mysql:dbname=DSS; host=localhost; charset=utf8','maika','powerB1234'); 15 }catch(PDOException $e){ 16 var_dump($e->getMessage()); 17 exit; 18 } 19 $stmt = $dbh->prepare('SELECT * FROM M_COMPANY WHERE company_ID = :company_ID'); 20 $stmt->bindValue(":company_ID",$company_ID); 21 $stmt->execute(); 22 $edit = $stmt->fetchAll(PDO::FETCH_ASSOC); 23 24 print_r($edit); 25 26?> 27<!DOCTYPE html> 28<html> 29 <head> 30 </head> 31 <body> 32 <header> 33 </header> 34 <main> 35 <h3>編集</h3> 36 <form class="edit-form" action="./update_news.php" method="POST"> 37 38 <p>企業名</p> 39 <input type="text" name="title" value="<?Php echo $edit[0]['company_name']; ?>" required> 40 41 <p>企業名フリガナ</p> 42 <textarea name="content" ><?php echo strip_tags($edit[0]['company_TL']); ?></textarea> 43 44 <button type="submit" class="btn btn-blue">更新する</button> 45 </form> 46 </main> 47 48 <footer> 49 </footer> 50 51 </body> 52</html>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/23 04:16
2021/06/23 04:20