phpで作った簡易掲示板に編集機能を実装中なのですが途中のデバックで詰まってしまいました。
php
1コード 2<?php 3 4$dataFile ='bbs2.txt'; 5$errMsg = ""; 6 7if(isset($_POST['toukou'])) 8{ 9 10 $message = ($_POST['message']); 11 12 $user = ($_POST['user']); 13 14 $postedAt = date('Y-m-d H:i:s'); 15 16 17 18 $newData = (sizeof(file($dataFile)) + 1)."<>".$message."<>".$user."<>".$postedAt. "\n"; 19 20 $fp = fopen($dataFile,'a'); 21 fwrite($fp, $newData); 22 fclose($fp); 23} 24 25 26if (isset($_POST['delete'])) { 27 28$delete = $_POST['deleteNo']; 29$delCon = file("bbs2.txt"); 30for ($j = 0; $j < count($delCon) ; $j++){ 31$delData = explode("<>", $delCon[$j]); 32 33if ($delData[0] == $delete) { 34array_splice($delCon, $j, 1); 35file_put_contents($dataFile, implode("\n", $delCon)); 36 37} 38} 39} 40 41if (isset($_POST['edit'])){ 42 if(!$_POST["editNo"]){$errMsg = "★NOを入力してください<br>";} 43 44 if(!$errMsg){ 45 $edit = $_POST["editNo"]; 46 $ediCon = file("bbs2.txt"); 47 for ($j = 0; $j < count($ediCon) ; $j++){ 48 $ediData = explode("<>", $ediCon[$j]); 49 50 if ($line[0] == $edit) { 51 echo "<font color=blue>NO$line[0]の書き込みを編集できます</font><br>"; 52 echo "<form method=POST action=keizibann2.php>"; 53 echo "message<input type='text' name='message' size='60' value='".$line[1]."'><br>"; 54 echo "user<input type='text' name='user' size='20' value='".$line[2]."'><br>"; 55 echo "<input type='submit' name='uwagaki' value='上書き保存'><input type='hidden' name='edit' value='" . $edit . "'>"; 56 echo "</form>"; 57 break; 58 } 59 } 60 } 61} 62 63?> 64 65 66<!DOCTYPE html> 67<html lang="ja"> 68<head> 69 <meta charset="utf-8"> 70 <title>簡易掲示板</title> 71</head> 72<body> 73 <h1>簡易掲示板</h1> 74 <form action="" method="POST"> 75 76 message:<input type="text" name="message"> 77 user:<input type="text" name="user"> 78 79 <input type='hidden' name='toukou' value=''> 80 <input type="submit" value="投稿"></br></br> 81 82 83 </form> 84 85 <form action="" method="POST"> 86 削除対象番号<input type="text" name="deleteNo"> 87 <input type="hidden" name="delete" value="delete" /> 88 <input type="submit" name="delete" value="削除"> 89 </form></br></br> 90 91 <form action="" method="POST"> 92 編集対象番号<input type="text" name="editNo"> 93 <input type="hidden" name="editNo" value="edit" /> 94 <input type="submit" name="edit" value="管理者編集"> 95 </form></br></br> 96 97 98<?php 99 100 $file=file($dataFile); // ファイルの内容を配列に格納 101 102 103 foreach( $file as $value ){ 104 105 $line = explode("<>",$value); 106 107 echo $value."<br />\n"; // 改行しながら値を表示 108 109} 110 111?> 112 113 114 115</body> 116</html> 117
試したこと
実行するとNotice: Undefined variable: line in C:\xampp\htdocs\php\keizibann2.php on line 54と出てきて54行目のif ($line[0] == $edit) {を中心に間違っていないか見たものの間違いが見当たりませんでした。
変数の間違いなどによるものなのでしょうか?
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/30 09:35