• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:掲示板の削除用パスの文字列がPOSTメソッドで空)

掲示板の削除用パスが空でPOSTメソッドで引いてきても中身が空

このQ&Aのポイント
  • 掲示板の各記事の表の最下部に削除用のパスワードのテキストフィールドと、削除ボタンをつけている
  • 削除ボタンを押すと、その記事自体が削除されるようにしているが、delete_s.php側でPOSTメソッドで値を引いてきても、中身が空なのです
  • どうしてかお分かりになる方、ご教授ください

質問者が選んだベストアンサー

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

formのPOSTではなく、onclickのlocation.hrefが効いているのではありませんか? >print("<input type=\"button\" name=\"ID_BTN_DELETE\" value=\"削除\" >onclick=\"location.href='delete.php?sid=$row[0]'\">"); location.hrefで遷移していれば(POSTされないので)$_POSTは空です。 >print("<form name=\"form1\" method=\"POST\" action=\"delete_s.php\">"); を print '<form name="form1" method="POST" action="delete_s.php?sid=' . $row[0] . '">'; に、 >print("<input type=\"button\" name=\"ID_BTN_DELETE\" value=\"削除\" >onclick=\"location.href='delete.php?sid=$row[0]'\">"); を print '<input type="submit" value="削除">'; にすべきだと思います。 というか、sidも(type="hidden"のinput要素を作って)POSTで引き渡すべきじゃないかなぁ

beterugius
質問者

お礼

お忙しいなか、お返事いただき、どうもありがとうございました。

beterugius
質問者

補足

ご説明が不十分だったかもわかりませんが、やりたいことは何かというと、記事削除用パスワードで入力したパスワードの値がdelete_s.php側で空なので、どうすれば受け取れるかとういうことなのです。 そして、記事上部で記入して投稿した削除用パスワードと、送信ボタンを押したあと、下部に個々に表示される掲示板のメッセージの削除ボタンの左側に記入したパスワードと一致していた場合のみ当該記事を削除したいのです。(お分かりだとは思いますが、蛇足であれば、すみません。)もちろん、上部の固定の表で入力されたパスワードと、下部の各メッセージで入力されたパスワードは1対1で対応しております。(DBの主キー、sidで判別できる)どうすれば受け取れるでしょうか? print("<form name=\"form1\" method=\"POST\" action=\"delete_s.php\">"); print("<tr>"); print("<td><input type=\"password\" name=\"ID_TEXT_DELETE_NUMBER\"id=\"ID_TEXT_DELETE_NUMBER\">&nbsp; print '<input type=\"submit\" value=\"削除\">'; print("</td></tr>"); // データベースのテーブルの最後のフィールドの値$row[0] print("<input type=\"hidden\"id=\"hidden_value\" name=\"password\" value=\"$row[0]\">"); // 各メッセージの最下部の削除ボタンの左側のパスワード入力欄に記入したパスワードの値 ※ここの部分ですprint("<input type=\"hidden\"id=\"hidden_value\" name=\"pass\" value=\" ここ \">"); print("</form>"); print("</table>"); ご意見を参考にさせていただき、上記のように変更してみましたが、そうすると、※の部分のvalueに何と書けばよいのかわかりません。どうぞよろしくお願いいたします。

関連するQ&A