フォーム内にsubmitボタン1つとラジオボタンを複数設けて、ラジオボタン毎に各処理を行い、その処理開始をsubmitボタンで行うという動作にしたいんですが、submitにname属性を付けるとその属性にしか処理が行われないし、外しても一つの処理しか行われず、if文の式を変更しても全く改善されません
各if文に$_POSTで処理を受け取るためにラジオボタンのname属性を付けてみたんですが、思うような動作になりません
添削お願いします
PHP
1 $link = mysqli_connect($host, $user, $pass, $db) or die("NG"); 2 3 mysqli_select_db($link, "XXX"); 4 5 $sqli = "bbs"; 6 if (isset($_POST["bbs"])) { 7 $sqli = mysqli_real_escape_string($_POST['bbs']); 8 } 9 10 if (isset($_POST['name'], $_POST['comment'], $_POST['bbs']) && !empty($_POST['post']))) { 11 $name = $_POST['name']; 12 $comment = $_POST['comment']; 13 mysqli_query($link, "INSERT INTO XXX (name, comment) VALUES ('$name', '$comment')"); 14 } elseif (isset($_POST['bbs'], $_POST['update'])) { 15 $update = $_POST['update']; 16 mysqli_query($link, "UPDATE XXX SET name = '$name', comment = '$comment' WHERE id = $update"); 17 } else (isset($_POST['bbs'], $_POST['delete'])) { 18 $delete = $_POST['delete']; 19 mysqli_query($link, "DELETE FROM XXX WHERE id = $delete"); 20 } 21 22 $result = mysqli_query($link, "SELECT * FROM XXX"); 23?> 24 25<html> 26 <head> 27 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 28 </head> 29 <body> 30 <form method="post" action=""> 31 <table> 32 <tr> 33 <td> 34 名前:<input type="text" name="name"> 35 内容:<textarea name="comment" cols="30" rows="3"></textarea> 36 <input type="radio" name="bbs" value="post" checked>投稿 37 <input type="radio" name="bbs" value="update">更新 38 <input type="radio" name="bbs" value="delete">削除 39 <input type="submit" value="投稿"> 40 </td> 41 </tr> 42 </table> 43 44<?php 45 while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 46?> 47 48 <table> 49 <input type="checkbox" name="chkid[]" value="<? = $row['$id'] ?>"> 50 <tr> 51 <td>名前: 52 <?php echo $row['name'] ?> 53 </td> 54 </tr> 55 <tr> 56 <td>内容: 57 <?php echo $row['comment'] ?> 58 </td> 59 </tr> 60 </table> 61 62<?php 63 }; 64 mysqli_free_result($result); 65 66 mysqli_close($link); 67?> 68 69 </form> 70 </body> 71</html>
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/10 08:01
2016/08/10 08:26