こんにちは。
今、PHPについて勉強中です。
今回、掲示板にパスワードをつけたいです。
行いたいこととしては、
「入力されたパスワードと、書き込み時に保存したパスワードを比較し、一致の場合のみ削除する」
です。
<title>掲示板</title> <p> <h1><掲示板></h1> </p> <form action ="" method="POST"> 名前<br> <input type ="text" name="name"><br> コメント<br> <textarea name = "comment" cols = "30" rows = "5"> </textarea><br> パスワード<br> <input type ="text" name="pass"><br> <p> <input type = "submit" value = "投稿"> </form> <form action="" method="post"> 削除対象番号<br> <input type="text" name="delete"><br> パスワード<br> <input type ="text" name="delpass"><br> <p> <input type="submit" value="削除"><br> </p> </form> <?php if (isset($_POST["delete"],$_POST["delpass"])) { $delete = $_POST["delete"]; $delpass = $_POST["delpass"]; $delCon = file("kadai12.txt"); $fp = fopen("kadai12.txt", "w"); for ($j = 0; $j < count($delCon); $j++) { $delDate = explode("<>", $delCon[$j]); if ($delDate[4] == $delpass){ if ($delDate[0] != $delete) { fwrite($fp, $delCon[$j]); } else { fwrite($fp, "消去しました。\n"); } } } fclose($fp); } ?>
あとは以下のコードも試してみました。
<?php if (isset($_POST["delete"],$_POST["delpass"])) { $delete = $_POST["delete"]; $delpass = ($_POST["delpass"]); $delCon = file("kadai12.txt"); $fp = fopen("kadai12.txt", "w"); for ($j = 0; $j < count($delCon); $j++) { $delDate = explode("<>", $delCon[$j]); if ($delDate[0] != $delete && $delDate[4] != $delpass) { fwrite($fp, $delCon[$j]); } else { fwrite($fp, "消去しました。\n"); } } fclose($fp); } ?>
削除されてもパスワード関係なく削除されてしまったり、そもそもすべて削除されてしまったりしてうまくいきません。
「kadai12.txt」のサンプルは以下になります。
kadai12.txt
11<>なお<>test1<>2017年09月28日 11:01:57<>pass1 22<>まき<>test2<>2017年09月28日 11:02:05<>pass2
回答2件
あなたの回答
tips
プレビュー