前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
[リンク内容](http://tt-662.99sv-coco.com/2-319.php)
該当のソースコード
``php
<html> <form action="2-316.php" method="post"><input type="text" placeholder="名前" name="name"><br>
<input type="text" placeholder="コメント" name="coment"><br>
<input type="submit" value="送信"><br>
<input type="text" placeholder="削除対象番号" name="number"><br>
<input type="submit" value="削除"> </form> </html> <?php touch('mission_2-3_16.txt'); ?> <?php date_default_timezone_set('Asia/Tokyo'); $filename = 'mission_2-3_16.txt'; $lines = file($filename); $number = 1 + count($lines); ?> <?php if((!empty($_POST['name']) or !empty($_POST['coment'])) and empty($_POST['number'])) {$fp = fopen($filename, "a"); fwrite($fp, $number."<>".$_POST['name']."<>".$_POST['coment']."<>".date("Y年m月d日 H:i:s"). "\n"); fclose($fp); $lines = file($filename); foreach($lines as $line) {$portion = explode( "<>", $line); echo "<pre>". $portion[0]." ". $portion[1]." ". $portion[2]." ". $portion[3]." ". $portion[4]. "</pre>" ; } } $lines = file($filename); $number = 1 + count($lines); elseif(empty($_POST['name']) and empty($_POST['coment']) and !empty($_POST['number'])) { $fq = fopen($filename, "w"); for ($i = 0; $i !== $_POST['number'] and $i <= $number-2 ; $i++) { $fq = fopen($filename, "w"); fwrite($fq, "$lines[$i]"."<br>"); fclose($fq); foreach($lines as $line) {$portion = explode( "<>", $line); echo "<pre>". $portion[0]." ". $portion[1]." ". $portion[2]." ". $portion[3]." ". $portion[4]. "</pre>" ; } } } ``` ### 試したこと 二番目のif以降が間違っていると思うんですが、原因がわからなかったので、何もしてないです。 ### 補足情報(FW/ツールのバージョンなど) 文字化けも起こしています。括弧({})の対応が非常に分かりづらいです。 インデントを揃え括弧の書き位置も修正しましょう。 「if(式){」や「foreach(式){」のように括弧の始端は条件式の行に書くのが普通かと。 if文の閉じ括弧(≒elseif文の始端)とelseifの間に文($lines=~と$number=
~)が挟まっているのが原因では。
文字化けは文字コード指定必要です(ググりましょう)、mission_2-3_16.txtの内容がわからないです。コード内に同じような記載がいくつか見受けられますがコードあってます? $lines = file($filename);が2回でるとか、 {$portion = explode( "<>", $line);が2回でるとか。
該当のソースコード は `` ではなく ``` にしてください。見づらいです。
https://teratail.com/questions/157429 これと同じ内容ですかね?
いい加減聞きたくなってきたので聞いてもいいですか。この課題を出している学校はteratailで質問することを推奨しているのですか?それとも仲間内で「いいところあるよ」的な口コミで広まっているのですか?
何もしてないなら何かしてください。質問前にできることがたくさんあります。あと前の質問解決しないままで進める内容ですか?
あなたの回答
tips
プレビュー