質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

939閲覧

削除機能追加 投稿番号の数え方について

kakaomame

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

2クリップ

投稿2021/07/23 18:19

phpで削除機能を追加したいのですが、投稿番号を指定して削除を行い、その後に新規書き込みをすると投稿番号がだぶります。例 1,2,3,4のうち3を削除して、新規投稿をすると、1,2,4,4となってしまいます。最後の行の投稿番号にプラス1して新規投稿ができるようにしたいです。
コードはこんな感じです↓

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>mission_3-3</title> <form action="" method="post"> </head> <body> <form action="" method="post"> <input type="text"name="str"placeholder="コメント">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<input type="num" name="delete"placeholder="削除番号"><br> <input type="text"name="name"placeholder="名前">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp<input type="submit" value="削除"><br> <input type="submit" value="送信"> </form><br> </body> </html> <?php //削除 if(!empty($_POST["delete"])){ $delete = $_POST["delete"]; if(file_exists("mission_3-3.txt")){ $filename="mission_3-3.txt"; $lines = file($filename,FILE_IGNORE_NEW_LINES);//ファイルの中身を1行1要素として配列変数に代入する $fp=fopen($filename,"w");//ファイルを空にする foreach($lines as $line){ $bike=explode("<>",$line); $postnum=$bike[0]; if($postnum != $delete){ fwrite($fp,$line.PHP_EOL); } } } fclose($fp); } ?> <?php //新規投稿 if (!empty($_POST["str"]) && !empty($_POST["name"])){ //strが書かれたら $filename="mission_3-3.txt"; $str=$_POST["str"]; $name=$_POST["name"]; $date=date("Y年m月d日H時i分s秒"); $fp=fopen($filename,"a"); //ファイルを開く、モードaを選 $count=count(file($filename)); $num=$count + 1; $filedate=$num."<>".$name."<>".$str."<>".$date."\n"; fwrite($fp, $filedate); fclose($fp);//ファイルを閉じる } ?> <?php //表示機能 if(file_exists("mission_3-3.txt")){ $filename="mission_3-3.txt"; $lines = file($filename,FILE_IGNORE_NEW_LINES); foreach($lines as $line){ $bike = explode("<>",$line); echo $bike[0]."\t".$bike[1]."\t".$bike[2]."\t".$bike[3]."<br>"; } } ?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

javahack

2021/07/23 18:46

趣味または課題でちょっとプログラムをかじる程度で良ければ止めませんが、今後業務レベルでプログラミングをやっていくつもりならデータベースの利用を覚えましょう。 ファイルに投稿データを保存して更新や削除を行うのは面倒なだけでなんの役にも立ちません。
guest

回答1

0

最後の行の投稿番号を取得してそれにプラス1をしてみてはどうでしょうか?

投稿2021/07/24 05:06

okada0930

総合スコア30

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kakaomame

2021/07/25 14:11

ご返答ありがとうございます 最後の行を取得するにはどのようにしたらよろしいでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問