teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

しつもんへんこう

2019/11/27 08:41

投稿

dog50
dog50

スコア26

title CHANGED
@@ -1,1 +1,1 @@
1
- フォームの値をtxtファイルに上書きしたい
1
+ フォームの値を受け取りたい
body CHANGED
@@ -1,29 +1,3 @@
1
- 受け取ったIDとtxtファイルに格納されているidの商品情報が等しければその等しいIDのtxtの内容を上書きしたいのですがうまくいきません。どのようにすればよいですか?
2
-
3
- ```php
4
-
5
- <?php
1
+ フォームの値を受け取りたい
6
2
  $json = file_get_contents("php://input");
7
- $json_data = json_decode($json, true);
3
+ $json_data = json_decode($json, true);
8
- $ID = $json_data['userid'];
9
- $product = $json_data['product'];
10
- $color = $json_data['color'];
11
- $filearr = file('product.txt');
12
- $newLines = array();
13
-
14
- foreach ($filearr as $no => $val) {
15
- $cols = explode(",", $val);
16
- $keyval = explode("=", $cols[0]);
17
-
18
- if ($keyval[1] == $ID) {
19
- $newLines[$ID] = $str;
20
- } else {
21
- $newLines[] = $val;
22
- }
23
- }
24
- $fp = fopen("product.txt", "w");
25
- fwrite($fp, implode("", $newLines));
26
- fclose($fp);
27
-
28
-
29
- ```

1

setumeibunntuika

2019/11/27 08:41

投稿

dog50
dog50

スコア26

title CHANGED
File without changes
body CHANGED
@@ -2,25 +2,28 @@
2
2
 
3
3
  ```php
4
4
 
5
+ <?php
5
6
  $json = file_get_contents("php://input");
6
7
  $json_data = json_decode($json, true);
7
- $ID = $json_data['id'];
8
+ $ID = $json_data['userid'];
8
9
  $product = $json_data['product'];
9
10
  $color = $json_data['color'];
10
- $str="ID={$ID},product={$product},color={$color}";
11
+ $filearr = file('product.txt');
12
+ $newLines = array();
11
13
 
12
- foreach ($filearr as $no => $val) {
14
+ foreach ($filearr as $no => $val) {
13
- $cols = explode(",", $val);
15
+ $cols = explode(",", $val);
14
- $keyval = explode("=", $cols[0]);
16
+ $keyval = explode("=", $cols[0]);
15
17
 
16
- if ($keyval[1] == $ID) {
18
+ if ($keyval[1] == $ID) {
17
19
  $newLines[$ID] = $str;
18
- } else {
20
+ } else {
19
- $newLines[] = $val;
21
+ $newLines[] = $val;
20
- }
22
+ }
21
- }
23
+ }
22
- $fp = fopen("json12.txt", "w");
24
+ $fp = fopen("product.txt", "w");
23
- fwrite($fp, implode("", $newLines));
25
+ fwrite($fp, implode("", $newLines));
24
- fclose($fp);
26
+ fclose($fp);
25
27
 
28
+
26
29
  ```