質問編集履歴

4

修正

2019/05/07 08:17

投稿

toll_tree
toll_tree

スコア199

test CHANGED
File without changes
test CHANGED
@@ -81,305 +81,3 @@
81
81
  どなたか、ご助言頂ければ幸いです。
82
82
 
83
83
  よろしくお願いします。
84
-
85
-
86
-
87
- 追記分のコード(top.php)です
88
-
89
- ```php
90
-
91
- <?php
92
-
93
- session_start();
94
-
95
- include 'shop_class.php';
96
-
97
-
98
-
99
- if(empty($_SESSION['id'])){
100
-
101
-
102
-
103
- header('Location:login.php');
104
-
105
- exit();
106
-
107
- }
108
-
109
- $success_msg = $_SESSION['success_msg'];
110
-
111
- $_SESSION['success_msg'] = '';
112
-
113
- $shop = new Shop('mysql:host=localhost;dbname=ec_website','root','12345');
114
-
115
- $product_list = $shop->line_up_product();
116
-
117
- $stock_list =$shop->display_quantity();
118
-
119
- $success_msg = '';
120
-
121
-
122
-
123
-
124
-
125
-
126
-
127
- if($_POST){
128
-
129
- // var_dump($_POST);
130
-
131
- // exit();
132
-
133
- $user_id = intval($_SESSION['id']);
134
-
135
- $product_name = $_POST['name'];
136
-
137
-
138
-
139
- $img = $_POST['img'];
140
-
141
- $price = $_POST['price'];
142
-
143
- $product_id = intval($_POST['product_id']);
144
-
145
-
146
-
147
- //var_dump($product_id);
148
-
149
- //exit();
150
-
151
-
152
-
153
- $item_check = $shop->cart_check($user_id,$product_id);
154
-
155
- // var_dump($item_check);
156
-
157
- // exit();
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
- if(!$item_check){
166
-
167
- // try{
168
-
169
- $shop->add_select_item($user_id,$product_id);
170
-
171
- $shop->decrease_stock($product_id);
172
-
173
- // }catch(PDOException $e){
174
-
175
- // echo $e->getMessage();
176
-
177
- // }
178
-
179
-
180
-
181
- echo __LINE__;
182
-
183
- exit();
184
-
185
- $_SESSION['success_msg'] = 'カートに登録しました';
186
-
187
- header('Location:'.$_SERVER["SCRIPT_NAME"]);
188
-
189
- //exit();
190
-
191
-
192
-
193
-
194
-
195
- }else{
196
-
197
- echo __LINE__;
198
-
199
- //exit();
200
-
201
- $shop->update($product_id);
202
-
203
- $shop->decrease_stock($product_id);
204
-
205
- echo __LINE__ . PHP_EOL;
206
-
207
- $_SESSION['success_msg'] = 'カートに登録しました';
208
-
209
- var_dump($_SESSION['success_msg']);
210
-
211
-
212
-
213
- header('Location:'.$_SERVER["SCRIPT_NAME"]);
214
-
215
- exit();
216
-
217
-
218
-
219
-
220
-
221
- }
222
-
223
-
224
-
225
- }
226
-
227
-
228
-
229
- var_dump($_SESSION['success_msg']);
230
-
231
- exit();
232
-
233
- $success_msg = isset($_SESSION['success_msg']) ? $_SESSION['success_msg'] : '';
234
-
235
- var_dump($success_msg);
236
-
237
-
238
-
239
- //exit();
240
-
241
- $_SESSION['success_msg'] = '';
242
-
243
-
244
-
245
-
246
-
247
- ?>
248
-
249
-
250
-
251
-
252
-
253
- <!DOCTYPE html>
254
-
255
- <html lang="ja">
256
-
257
- <head>
258
-
259
- <meta charset="UTF-8">
260
-
261
- <link type="text/css" rel="stylesheet" href="./css/top.css">
262
-
263
- <title>トップページ</title>
264
-
265
- </head>
266
-
267
- <body>
268
-
269
- <header class="header_box">
270
-
271
- <a href="top.php" class="top_logo">
272
-
273
- <img class="logo" src="./images/logo.png" alt="CodeShop">
274
-
275
- </a>
276
-
277
-
278
-
279
- <p class="user_name">
280
-
281
- ユーザー名:<?php echo $_COOKIE['name']; ?>
282
-
283
- </p>
284
-
285
- <a href="cart.php">
286
-
287
- <img src="./images/cart.png">
288
-
289
- </a>
290
-
291
- <a href="logout.php" class="logout">
292
-
293
- ログアウト
294
-
295
- </a>
296
-
297
- </header>
298
-
299
-
300
-
301
- <p><?php echo $success_msg ?></p>
302
-
303
- <div class="content">
304
-
305
-
306
-
307
- <?php for($i = 0; $i < count($product_list); $i++): ?>
308
-
309
- <?php
310
-
311
- $list = $product_list[$i];
312
-
313
- $stock = $stock_list[$i];
314
-
315
- // var_dump($list['id']);
316
-
317
-
318
-
319
- ?>
320
-
321
-
322
-
323
- <div class="content_list">
324
-
325
- <img src="<?=$list['img']?>" width="300px" height="300px">
326
-
327
- <div class="wrap_content">
328
-
329
-
330
-
331
- <p class="item_name"><?=$list['name']?></p>
332
-
333
- <!-- <?php var_dump($list['item_id']); ?> -->
334
-
335
-
336
-
337
- <p>¥<?=$list['price']?></p>
338
-
339
- </div>
340
-
341
- <?php if($stock['stock'] > 0): ?>
342
-
343
- <form action="top.php" method="post">
344
-
345
- <input id="cart_btn" type="submit" value="カートに入れる" class="cart_send">
346
-
347
- <input type="hidden" name="name" value="<?=$list['name']?>">
348
-
349
- <input type="hidden" name="img" value="<?=$list['img']?>">
350
-
351
- <input type="hidden" name="price" value="<?=$list['price']?>">
352
-
353
- <input type="hidden" name="product_id" value="<?=$list['id']?>">
354
-
355
- <input type="hidden" name="user_id" value="<?=$_SESSION['id']?>">
356
-
357
- <?php else: ?>
358
-
359
- <p class="err_msg"> 売り切れ</p>
360
-
361
- <?php endif;?>
362
-
363
- </form>
364
-
365
- </div>
366
-
367
-
368
-
369
- <?php endfor;?>
370
-
371
-
372
-
373
- </div>
374
-
375
-
376
-
377
-
378
-
379
- </body>
380
-
381
- </html>
382
-
383
-
384
-
385
- ```

3

コードの追記

2019/05/07 08:17

投稿

toll_tree
toll_tree

スコア199

test CHANGED
File without changes
test CHANGED
@@ -81,3 +81,305 @@
81
81
  どなたか、ご助言頂ければ幸いです。
82
82
 
83
83
  よろしくお願いします。
84
+
85
+
86
+
87
+ 追記分のコード(top.php)です
88
+
89
+ ```php
90
+
91
+ <?php
92
+
93
+ session_start();
94
+
95
+ include 'shop_class.php';
96
+
97
+
98
+
99
+ if(empty($_SESSION['id'])){
100
+
101
+
102
+
103
+ header('Location:login.php');
104
+
105
+ exit();
106
+
107
+ }
108
+
109
+ $success_msg = $_SESSION['success_msg'];
110
+
111
+ $_SESSION['success_msg'] = '';
112
+
113
+ $shop = new Shop('mysql:host=localhost;dbname=ec_website','root','12345');
114
+
115
+ $product_list = $shop->line_up_product();
116
+
117
+ $stock_list =$shop->display_quantity();
118
+
119
+ $success_msg = '';
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+ if($_POST){
128
+
129
+ // var_dump($_POST);
130
+
131
+ // exit();
132
+
133
+ $user_id = intval($_SESSION['id']);
134
+
135
+ $product_name = $_POST['name'];
136
+
137
+
138
+
139
+ $img = $_POST['img'];
140
+
141
+ $price = $_POST['price'];
142
+
143
+ $product_id = intval($_POST['product_id']);
144
+
145
+
146
+
147
+ //var_dump($product_id);
148
+
149
+ //exit();
150
+
151
+
152
+
153
+ $item_check = $shop->cart_check($user_id,$product_id);
154
+
155
+ // var_dump($item_check);
156
+
157
+ // exit();
158
+
159
+
160
+
161
+
162
+
163
+
164
+
165
+ if(!$item_check){
166
+
167
+ // try{
168
+
169
+ $shop->add_select_item($user_id,$product_id);
170
+
171
+ $shop->decrease_stock($product_id);
172
+
173
+ // }catch(PDOException $e){
174
+
175
+ // echo $e->getMessage();
176
+
177
+ // }
178
+
179
+
180
+
181
+ echo __LINE__;
182
+
183
+ exit();
184
+
185
+ $_SESSION['success_msg'] = 'カートに登録しました';
186
+
187
+ header('Location:'.$_SERVER["SCRIPT_NAME"]);
188
+
189
+ //exit();
190
+
191
+
192
+
193
+
194
+
195
+ }else{
196
+
197
+ echo __LINE__;
198
+
199
+ //exit();
200
+
201
+ $shop->update($product_id);
202
+
203
+ $shop->decrease_stock($product_id);
204
+
205
+ echo __LINE__ . PHP_EOL;
206
+
207
+ $_SESSION['success_msg'] = 'カートに登録しました';
208
+
209
+ var_dump($_SESSION['success_msg']);
210
+
211
+
212
+
213
+ header('Location:'.$_SERVER["SCRIPT_NAME"]);
214
+
215
+ exit();
216
+
217
+
218
+
219
+
220
+
221
+ }
222
+
223
+
224
+
225
+ }
226
+
227
+
228
+
229
+ var_dump($_SESSION['success_msg']);
230
+
231
+ exit();
232
+
233
+ $success_msg = isset($_SESSION['success_msg']) ? $_SESSION['success_msg'] : '';
234
+
235
+ var_dump($success_msg);
236
+
237
+
238
+
239
+ //exit();
240
+
241
+ $_SESSION['success_msg'] = '';
242
+
243
+
244
+
245
+
246
+
247
+ ?>
248
+
249
+
250
+
251
+
252
+
253
+ <!DOCTYPE html>
254
+
255
+ <html lang="ja">
256
+
257
+ <head>
258
+
259
+ <meta charset="UTF-8">
260
+
261
+ <link type="text/css" rel="stylesheet" href="./css/top.css">
262
+
263
+ <title>トップページ</title>
264
+
265
+ </head>
266
+
267
+ <body>
268
+
269
+ <header class="header_box">
270
+
271
+ <a href="top.php" class="top_logo">
272
+
273
+ <img class="logo" src="./images/logo.png" alt="CodeShop">
274
+
275
+ </a>
276
+
277
+
278
+
279
+ <p class="user_name">
280
+
281
+ ユーザー名:<?php echo $_COOKIE['name']; ?>
282
+
283
+ </p>
284
+
285
+ <a href="cart.php">
286
+
287
+ <img src="./images/cart.png">
288
+
289
+ </a>
290
+
291
+ <a href="logout.php" class="logout">
292
+
293
+ ログアウト
294
+
295
+ </a>
296
+
297
+ </header>
298
+
299
+
300
+
301
+ <p><?php echo $success_msg ?></p>
302
+
303
+ <div class="content">
304
+
305
+
306
+
307
+ <?php for($i = 0; $i < count($product_list); $i++): ?>
308
+
309
+ <?php
310
+
311
+ $list = $product_list[$i];
312
+
313
+ $stock = $stock_list[$i];
314
+
315
+ // var_dump($list['id']);
316
+
317
+
318
+
319
+ ?>
320
+
321
+
322
+
323
+ <div class="content_list">
324
+
325
+ <img src="<?=$list['img']?>" width="300px" height="300px">
326
+
327
+ <div class="wrap_content">
328
+
329
+
330
+
331
+ <p class="item_name"><?=$list['name']?></p>
332
+
333
+ <!-- <?php var_dump($list['item_id']); ?> -->
334
+
335
+
336
+
337
+ <p>¥<?=$list['price']?></p>
338
+
339
+ </div>
340
+
341
+ <?php if($stock['stock'] > 0): ?>
342
+
343
+ <form action="top.php" method="post">
344
+
345
+ <input id="cart_btn" type="submit" value="カートに入れる" class="cart_send">
346
+
347
+ <input type="hidden" name="name" value="<?=$list['name']?>">
348
+
349
+ <input type="hidden" name="img" value="<?=$list['img']?>">
350
+
351
+ <input type="hidden" name="price" value="<?=$list['price']?>">
352
+
353
+ <input type="hidden" name="product_id" value="<?=$list['id']?>">
354
+
355
+ <input type="hidden" name="user_id" value="<?=$_SESSION['id']?>">
356
+
357
+ <?php else: ?>
358
+
359
+ <p class="err_msg"> 売り切れ</p>
360
+
361
+ <?php endif;?>
362
+
363
+ </form>
364
+
365
+ </div>
366
+
367
+
368
+
369
+ <?php endfor;?>
370
+
371
+
372
+
373
+ </div>
374
+
375
+
376
+
377
+
378
+
379
+ </body>
380
+
381
+ </html>
382
+
383
+
384
+
385
+ ```

2

文法修正

2019/05/07 08:04

投稿

toll_tree
toll_tree

スコア199

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 下記コードにおいて、解決したい問題があります。
1
+ 下記コード(test3.php)において、解決したい問題があります。
2
2
 
3
3
  ```php
4
4
 

1

本文修正

2019/05/07 06:35

投稿

toll_tree
toll_tree

スコア199

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  formによりpostされると、if(isset($_POST))以降の処理がなされますが、なんらかの方法によりpostされ、header関数により、再読み込みされた後のみ、$success_msgを表示するというのは、できないでしょうか?
78
78
 
79
- つまり、header関数による、再読み込みされたページが表示された後、もう一度F5ボタンなどで更新処理を行った場合は、$success_msgは表示されないようにしたいです。ページが初めて読み込んだタイミング場合など、post処理が終わった後、以外では、成功メッセージを表示しない為です。
79
+ つまり、header関数による、再読み込みされたページが表示された後、もう一度F5ボタンなどで更新処理を行った場合は、$success_msgは表示されないようにしたいです。ページが初めて読み込まれた場合など、post処理が終わった後、以外では、成功メッセージを表示しない為です。
80
80
 
81
81
  どなたか、ご助言頂ければ幸いです。
82
82