う~ん……質問内容とプログラムの説明が薄いので、なんと回答しようか悩みましたが……
ケチつけていきます。
<input type="hidden" name="hidden1" value="<?php echo($_GET['name3']);?>">
なんで、method="POST"
指定してるのに、$_GET
!?
他のページから飛んで来ること前提?
$simEdit
とは……?
パッと見、if文のスコープ内宣言っぽいのでグローバル変数じゃないし……?
if(($delData[0] == $_POST['name2']) and ($delData[4] == $_POST['pass']))
$delData[4] == $_POST['pass']
→$delData[1]じゃない?
エラーやワーニング出てたものは、申し訳ないですが全部消しました。
とりあえず、動かせたもの
lang
1<html>
2<head>
3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4 <title></title>
5</head>
6<body>
7 <?php
8
9 /***** ファイル書き込み********/
10 $dataFile = "keiji_2.txt";
11 if(isset($_POST['make']))
12 {
13 $str = (sizeof(file($dataFile))+1) . '<>' . $_POST['name'] . '<>' . $_POST['comment'] . '<>' . date('m/d/H:i') . '<>' .$_POST['password'] . "\n";
14 $fp = fopen('keiji_2.txt','a');
15 fwrite($fp, $str);
16 fclose($fp);
17 }
18 /***** ファイル消去********/
19 if (isset($_POST['del']))
20 {
21 $file_make = file("keiji_2.txt");
22 for($k = 0;$k <count($file_make); ++$k){
23 $delData = preg_split("/<>/", $file_make[$k]);
24 if(($delData[0] == $_POST['name2']) and ($delData[1] == $_POST['pass']))
25 {
26 echo 'in<hr>';
27 array_splice($file_make, $k, 1);
28 file_put_contents($dataFile, implode("", $file_make));
29 echo ($_POST['pass']);echo ($delData[4]);
30 }
31 }
32
33 }
34 /***** ファイル編集 入力フォーム表示********/
35 if (isset($_GET['edit']))
36 {
37 $file_edit = file("keiji_2.txt");
38 for($l = 0;$l <count($file_edit); ++$l){
39 $editData = explode("<>",$file_edit[$l]);
40 if($editData[0] == ($_GET['name3'])) {
41 $simEdit = $editData;
42 }
43 }
44
45 }
46
47 /***** ファイル編集 ファイル書き込み********/
48 if (isset($_POST['make']) && isset($_POST['hidden1'])) {
49
50 $file_edit = file("keiji_2.txt");
51 for($m = 0;$m <count($file_edit); ++$m){
52 $editData2 = explode("<>",$file_edit[$m]);
53 if($editData2[0] == ($_POST['hidden1'])){
54 $n = $_POST['hidden1'];
55 $editData2[1] = $_POST['name'];
56 $editData2[2] = $_POST['comment'];
57 $file_edit[$m] = implode("<>", $editData2);
58 file_put_contents($dataFile,implode("", $file_edit));
59 }
60 }#echo"hello";echo($_POST['hidden1']);
61 }
62
63 ?>
64
65 <!-- 書き込み用フォーム -->
66 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
67 name:<br/>
68 <input type="text" name="name" size="30" value="" /><br >
69 password:<br/>
70 <input type="text" name="password" size="30" value=""/><br />
71 comment:<br/>
72 <input type="text" name="comment" size="30" value=""/><br />
73
74 <br />
75 <input type="submit" name="make">
76 </form>
77
78 <!-- 削除用フォーム -->
79 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
80 deleate number:<br/>
81 <input type="text" name="name2" size="30" value=""/><br />
82 password:<br><br/>
83 <input type="text" name="pass" size ="30" placeholder="fill in password"/><br/>
84 <input type="submit" name="del">
85 </form>
86
87 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
88 <input type="hidden" name="hidden" value="<?php echo($_GET['name3']);?>">
89 edit number:<br/><br/>
90 <input type="text" name="name3" size="30" value="<?php echo($_GET['name3']);?> "/><br />
91 <input type="submit" name="edit">
92
93 </form>
94
95 <?php
96
97 /***** txtの最終出力********/
98 $data_File = "keiji_2.txt";
99 $ret_array = file($data_File);
100 for($i = 0;$i <count($ret_array); ++$i){
101 $piece = explode("<>", $ret_array[$i]);
102 for($j = 0; $j < 4; ++$j){
103 echo ($piece[$j]);
104 }
105 echo "<br />\n";
106 }
107 ?>
108
109</body></html>
110
修正版
lang
1<html>
2<head>
3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
4 <title></title>
5</head>
6<body>
7 <?php
8
9 /***** ファイル書き込み********/
10 $dataFile = "keiji_2.txt";
11
12 if(isset($_POST['make']))
13 {
14 $str = (sizeof(file($dataFile))+1) . '<>' . $_POST['name'] . '<>' . $_POST['comment'] . '<>' . date('m/d/H:i') . '<>' .$_POST['password'] . "\n";
15 $fp = fopen('keiji_2.txt','a');
16 fwrite($fp, $str);
17 fclose($fp);
18 }
19 /***** ファイル消去********/
20 if (isset($_POST['del']))
21 {
22 $file_make = file("keiji_2.txt");
23 for($k = 0;$k <count($file_make); ++$k){
24 $file_make[$k] = preg_replace("/\n/", "", $file_make[$k]);
25
26 echo "fn: ".$file_make[$k]."<hr>";
27
28 $delData = preg_split("/<>/", $file_make[$k]);
29
30 echo "del: ".$delData[4]."<hr>";
31
32 if(($delData[0] == $_POST['name2']) and ($delData[4] == $_POST['pass']))
33 {
34 echo 'in<hr>';
35 array_splice($file_make, $k, 1);
36 file_put_contents($dataFile, implode("", $file_make));
37 echo ($_POST['pass']);echo ($delData[4]);
38 }
39 }
40
41 }
42 /***** ファイル編集 入力フォーム表示********/
43 if (isset($_GET['edit']))
44 {
45 $file_edit = file("keiji_2.txt");
46 for($l = 0;$l <count($file_edit); ++$l){
47 $editData = explode("<>",$file_edit[$l]);
48 if($editData[0] == ($_GET['name3'])) {
49 $simEdit = $editData;
50 }
51 }
52
53 }
54
55 /***** ファイル編集 ファイル書き込み********/
56 if (isset($_POST['make']) && isset($_POST['hidden1'])) {
57
58 $file_edit = file("keiji_2.txt");
59 for($m = 0;$m <count($file_edit); ++$m){
60 $editData2 = explode("<>",$file_edit[$m]);
61 if($editData2[0] == ($_POST['hidden1'])){
62 $n = $_POST['hidden1'];
63 $editData2[1] = $_POST['name'];
64 $editData2[2] = $_POST['comment'];
65 $file_edit[$m] = implode("<>", $editData2);
66 file_put_contents($dataFile,implode("", $file_edit));
67 }
68 }#echo"hello";echo($_POST['hidden1']);
69 }
70
71 ?>
72
73 <!-- 書き込み用フォーム -->
74 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
75 name:<br/>
76 <input type="text" name="name" size="30" value="" /><br >
77 password:<br/>
78 <input type="text" name="password" size="30" value=""/><br />
79 comment:<br/>
80 <input type="text" name="comment" size="30" value=""/><br />
81
82 <br />
83 <input type="submit" name="make">
84 </form>
85
86 <!-- 削除用フォーム -->
87 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
88 deleate number:<br/>
89 <input type="text" name="name2" size="30" value=""/><br />
90 password:<br><br/>
91 <input type="text" name="pass" size ="30" placeholder="fill in password"/><br/>
92 <input type="submit" name="del">
93 </form>
94
95 <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
96 <input type="hidden" name="hidden" value="<?php echo($_GET['name3']);?>">
97 edit number:<br/><br/>
98 <input type="text" name="name3" size="30" value="<?php echo($_GET['name3']);?> "/><br />
99 <input type="submit" name="edit">
100
101 </form>
102
103 <?php
104
105 /***** txtの最終出力********/
106 $data_File = "keiji_2.txt";
107 $ret_array = file($data_File);
108 for($i = 0;$i <count($ret_array); ++$i){
109 $piece = explode("<>", $ret_array[$i]);
110 for($j = 0; $j < 4; ++$j){
111 echo ($piece[$j]);
112 }
113 echo "<br />\n";
114 }
115 ?>
116
117</body></html>
118
解説。
ファイルに書きだした時に、パスワードを最後にくっつけてるんですね…
ファイル番号<>名前<>コメント<>日時<>パスワード\n
一行読み込んだ時に、改行コード「\n」が一緒にくっついてくるのでそれを除去します。
例えば、$file_make[$k] = preg_replace("/\n/", "", $file_make[$k]);
みたいに。
いや、失礼しました。