私は、ユーザーがシステム内の画像にコメントを追加できるようにするphpWebサイトを作成してきました。
私のコードが現在機能している方法は、その画像のすべてのコメントを取得し、whileループを使用してそれらをテーブルに配置することです。
$commResult = mysql_query("SELECT u.userID, u.USERNAME, c.COMMENT, c.DATE_ADDED, c.ACTIVE, c.id FROM USERS u, COMMENTS c WHERE u.id = c.user_id and c.box_id = $boxId ORDER BY c.DATE_ADDED DESC");
while ($row = mysql_fetch_array($commResult))
{
if ($row[4] != 0)
{
echo "<tr><td><a href='User.php?uid=$row[0]'>$row[1]</a></td>";
echo "<td style='text-align:right;'>" . date("d M y g:iA", strtotime($row[3])) ;
if (isLoggedIn())
echo " - DELETE";
echo "</td></tr>";
echo "<tr><td colspan='2'>" . $row[2] . "</td></tr>";
}
}
私が抱えている問題は、DELETEという単語がある場所に送信ボタンを配置したいということです。これにより、コメント行ごとにボタンが作成されるため、クリックした場合、コードはどのボタンが押されたかを認識しません。とにかくこれを回避する方法はありますか?各ボタンには個別のIDがあり、コードが送信されると、コメントのIDがわかります。したがって、そのコメントIDのデータベーステーブルで削除を処理できます。
DELETEという単語が次のようなコードを追加してみました。
if (isLoggedIn())
echo " - <button type='submit' name='delCom_sub' value='$row[5]' >X</button>";
ただし、次のコードを使用してボタンクリックを処理しようとすると、次のようになります。
if (!empty($_POST['delCom_sub']))
{
echo "test";
}
ボタンをクリックすると、「テスト」という単語は表示されません。