@@ -155,6 +155,7 @@ public function themloaisp(){
155
155
156
156
$ sql = "INSERT INTO loaisp VALUES (null, {$ _POST ['idCL ' ]}, ' $ ten', {$ _POST ['ThuTu ' ]}, {$ _POST ['AnHien ' ]}) " ;
157
157
if (!$ result = $ this ->db ->query ($ sql )) die ($ sql );
158
+ $ _SESSION ['success ' ] = 'Đã thêm thành công 1 loại sản phẩm ' ;
158
159
header ("location: index.php?a=loaisp-xem " );
159
160
}
160
161
@@ -176,10 +177,9 @@ public function sualoaisp($idLoai){
176
177
if (count ($ this ->errors ) > 0 ) return false ;
177
178
178
179
$ ten = $ this ->db ->escape_string ($ _POST ['TenLoai ' ]);
179
-
180
180
$ sql = "UPDATE loaisp SET idCL= {$ _POST ['idCL ' ]}, TenLoai=' $ ten', ThuTu= {$ _POST ['ThuTu ' ]}, AnHien= {$ _POST ['AnHien ' ]} WHERE idLoai= $ idLoai " ;
181
181
if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
182
- header ( " location: index.php?a=loaisp-xem " ) ;
182
+ $ _SESSION [ ' success ' ] = ' Loại sản phẩm đã được cập nhật thành công ' ;
183
183
}
184
184
185
185
public function xoaloaisp ($ idLoai ){
@@ -194,6 +194,7 @@ public function xoaloaisp($idLoai){
194
194
195
195
$ sql = "DELETE FROM loaisp WHERE idLoai= $ idLoai " ;
196
196
if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
197
+ $ _SESSION ['success ' ] = 'Đã xóa thành công 1 loại sản phẩm ' ;
197
198
header ("location: index.php?a=loaisp-xem " );
198
199
}
199
200
@@ -238,12 +239,20 @@ public function themsanpham(){
238
239
if (!is_numeric ($ _POST ['Gia ' ])) $ this ->errors ['Gia ' ] = "Trường này phải nhập số! " ;
239
240
if (!empty ($ _POST ['SoLuongTonKho ' ]) && !is_numeric ($ _POST ['SoLuongTonKho ' ])) $ this ->errors ['SoLuongTonKho ' ] = "Trường này phải nhập số! " ;
240
241
if (empty ($ _POST ['Gia ' ])) $ this ->errors ['Gia ' ] = "Không được bỏ trống trường này! " ;
241
-
242
+
243
+ if (!empty ($ _POST ['youtube ' ])){
244
+ $ youtube = $ this ->db ->escape_string ($ _POST ['youtube ' ]);
245
+ preg_match ('/youtube\.com\/watch\?v=(\w+)/i ' , $ youtube , $ match );
246
+ if (count ($ match ) != 2 ) $ this ->errors ['youtube ' ] = 'link không đúng định dạng ' ;
247
+ $ youtube_value = $ match [1 ];
248
+ }
249
+
242
250
if (count ($ this ->errors ) > 0 ) return false ;
243
251
252
+ //hình chính mặc định:
244
253
$ urlHinh = "updating.png " ;
245
- //nếu có up hình:
246
- if ($ _FILES ['urlHinh ' ]['error ' ] != 4 ){
254
+ //nếu có up hình chính :
255
+ if (! empty ( $ _FILES ['urlHinh ' ]['name ' ]) ){
247
256
//kiem tra dinh dang file hinh upload
248
257
$ ext_list = array ("jpeg " , "png " , "jpg " );
249
258
$ file_ext = pathinfo ($ _FILES ['urlHinh ' ]['name ' ], PATHINFO_EXTENSION );
@@ -276,7 +285,45 @@ public function themsanpham(){
276
285
$ urlHinh = $ newname ;
277
286
}
278
287
}
279
-
288
+
289
+ //nếu có up hình phụ:
290
+ if (!empty ($ _FILES ['hinhphu ' ]['name ' ][0 ])){
291
+ $ ext_list = array ("jpeg " , "png " , "jpg " );
292
+ $ max_size = 1024 *1024 *2 ;
293
+ $ arr_tenhinhphu = array ();
294
+ //kiểm tra xem có hình nào ko hợp lệ ko
295
+ for ($ i =0 ; $ i <count ($ _FILES ['hinhphu ' ]['name ' ]); $ i ++){
296
+ $ file_ext = pathinfo ($ _FILES ['hinhphu ' ]['name ' ][$ i ], PATHINFO_EXTENSION );
297
+ if (!in_array ($ file_ext , $ ext_list )){
298
+ $ this ->errors ['hinhphu ' ] = 'Chỉ chấp nhận các định dạng: jpeg, png, jpg! ' ;
299
+ return false ;
300
+ }
301
+ if ($ _FILES ['hinhphu ' ]['size ' ][$ i ] > $ max_size ){
302
+ $ this ->errors ['hinhphu ' ] = 'Chỉ chấp nhận hình dưới 2MB! ' ;
303
+ return false ;
304
+ }
305
+ //loi he thong, mang:
306
+ if ($ _FILES ['hinhphu ' ]['error ' ][$ i ] > 0 ){
307
+ $ this ->errors ['hinhphu ' ] = 'Có lỗi xảy ra, xin thử lại! ' ;
308
+ return false ;
309
+ }
310
+
311
+ }
312
+ //tất cả các hình đều hợp lệ, bắt dầu upload
313
+ for ($ i =0 ; $ i <count ($ _FILES ['hinhphu ' ]['name ' ]); $ i ++){
314
+ $ newname = $ this ->changeTitle ($ _POST ['TenSP ' ]) ."- " ."hinhphu_ " .$ i . ". " . $ file_ext ;
315
+
316
+ //lưu tên để sau chèn vào database:
317
+ $ arr_tenhinhphu [] = $ newname ;
318
+
319
+ //đường dẫn lưu file:
320
+ $ path = '../upload/sanpham/hinhphu/ ' . $ newname ;
321
+ if (move_uploaded_file ($ _FILES ['hinhphu ' ]['tmp_name ' ][$ i ], $ path ) == false ){
322
+ $ this ->errors ['hinhphu ' ] = 'Có lỗi xảy ra, xin thử lại! ' ;
323
+ return false ;
324
+ }
325
+ }
326
+ }
280
327
281
328
$ ngay = date ('Y-m-d ' , time ());
282
329
$ TenSP = $ this ->db ->escape_string ($ _POST ['TenSP ' ]);
@@ -291,6 +338,22 @@ public function themsanpham(){
291
338
' $ baiviet', 0, {$ _POST ['SoLuongTonKho ' ]},
292
339
' $ GhiChu', 0, {$ _POST ['AnHien ' ]}) " ;
293
340
if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
341
+ $ idSP = $ this ->db ->insert_id ;
342
+
343
+ //insert youtube link:
344
+ if (!empty ($ _POST ['youtube ' ])){
345
+ $ sql = "INSERT INTO sanpham_youtube VALUES(null, $ idSP, ' $ youtube_value') " ;
346
+ if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
347
+ }
348
+
349
+ //insert url hình phụ:
350
+ if (!empty ($ _FILES ['hinhphu ' ]['name ' ][0 ])){
351
+ for ($ i =0 ; $ i <count ($ _FILES ['hinhphu ' ]['name ' ]); $ i ++){
352
+ $ sql = "INSERT INTO sanpham_hinh VALUES(null, $ idSP, ' {$ arr_tenhinhphu [$ i ]}') " ;
353
+ if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
354
+ }
355
+ }
356
+
294
357
$ _SESSION ['success ' ] = 'Đã thêm thành công 1 sản phẩm ' ;
295
358
header ("location: index.php?a=sanpham-xem " );
296
359
}
@@ -307,7 +370,14 @@ public function suasanpham($idSP){
307
370
if (!is_numeric ($ _POST ['Gia ' ])) $ this ->errors ['Gia ' ] = "Trường này phải nhập số! " ;
308
371
if (!empty ($ _POST ['SoLuongTonKho ' ]) && !is_numeric ($ _POST ['SoLuongTonKho ' ])) $ this ->errors ['SoLuongTonKho ' ] = "Trường này phải nhập số! " ;
309
372
if (empty ($ _POST ['Gia ' ])) $ this ->errors ['Gia ' ] = "Không được bỏ trống trường này! " ;
310
-
373
+
374
+ if (!empty ($ _POST ['youtube ' ])){
375
+ $ youtube = $ this ->db ->escape_string ($ _POST ['youtube ' ]);
376
+ preg_match ('/youtube\.com\/watch\?v=(\w+)/i ' , $ youtube , $ match );
377
+ if (count ($ match ) != 2 ) $ this ->errors ['youtube ' ] = 'link không đúng định dạng ' ;
378
+ $ youtube_value = $ match [1 ];
379
+ }
380
+
311
381
if (count ($ this ->errors ) > 0 ) return false ;
312
382
313
383
//kiem tra neu upload hinh moi
@@ -367,6 +437,86 @@ public function suasanpham($idSP){
367
437
//xoa hinh cu:
368
438
if (!isset ($ hinhcu )) return true ;
369
439
if ($ hinhcu != "updating.png " ) unlink ('../upload/sanpham/hinhchinh/ ' .$ hinhcu );
440
+
441
+ //youtube:
442
+ if (!empty ($ _FILES ['hinhphu ' ]['name ' ][0 ])){
443
+ for ($ i =0 ; $ i <count ($ _FILES ['hinhphu ' ]['name ' ]); $ i ++){
444
+ $ sql = "INSERT INTO sanpham_hinh VALUES(null, $ idSP, ' {$ arr_tenhinhphu [$ i ]}') " ;
445
+ if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
446
+ }
447
+ }
448
+ }
449
+
450
+ public function uphinhphu ($ idSP ){
451
+ //tìm số thứ tự cao nhất của hình phụ hiện tại:
452
+ $ dshinh = $ this ->layhinhsp ($ idSP );
453
+ $ max = 0 ;
454
+ foreach ($ dshinh as $ hinh ){
455
+ $ urlHinh = $ hinh ['urlHinh ' ];
456
+ preg_match ('/(\d*)\.[a-z]*/ ' , $ urlHinh , $ match );
457
+ $ num = $ match [1 ];
458
+ if ($ num > $ max ) $ max = $ num ;
459
+ }
460
+
461
+
462
+ if (!empty ($ _FILES ['hinhphu ' ]['name ' ][0 ])){
463
+ $ ext_list = array ("jpeg " , "png " , "jpg " );
464
+ $ max_size = 1024 *1024 *2 ;
465
+ $ arr_tenhinhphu = array ();
466
+ //kiểm tra xem có hình nào ko hợp lệ ko
467
+ for ($ i =0 ; $ i <count ($ _FILES ['hinhphu ' ]['name ' ]); $ i ++){
468
+ $ file_ext = pathinfo ($ _FILES ['hinhphu ' ]['name ' ][$ i ], PATHINFO_EXTENSION );
469
+ if (!in_array ($ file_ext , $ ext_list )){
470
+ $ this ->errors ['hinhphu ' ] = 'Chỉ chấp nhận các định dạng: jpeg, png, jpg! ' ;
471
+ }
472
+ if ($ _FILES ['hinhphu ' ]['size ' ][$ i ] > $ max_size ){
473
+ $ this ->errors ['hinhphu ' ] = 'Chỉ chấp nhận hình dưới 2MB! ' ;
474
+ }
475
+ //loi he thong, mang:
476
+ if ($ _FILES ['hinhphu ' ]['error ' ][$ i ] > 0 ){
477
+ $ this ->errors ['hinhphu ' ] = 'Có lỗi xảy ra, xin thử lại! ' ;
478
+ }
479
+ }
480
+
481
+ if (!empty ($ this ->errors ['hinhphu ' ])){
482
+ $ _SESSION ['fail ' ] = '<p class="alert alert-danger"> ' .$ this ->errors ['hinhphu ' ].'</p> ' ;
483
+ header ("Location: index.php?a=sanpham-hinhphu&idSP= $ idSP " );
484
+ return false ;
485
+ }
486
+
487
+ //tất cả các hình đều hợp lệ, bắt dầu upload
488
+ for ($ i =0 ; $ i <count ($ _FILES ['hinhphu ' ]['name ' ]); $ i ++){
489
+ $ sql = "SELECT TenSP FROM sanpham WHERE idSP= $ idSP " ;
490
+ if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
491
+ $ row = $ result ->fetch_row ();
492
+ $ TenSP = $ row [0 ];
493
+ $ newname = $ this ->changeTitle ($ TenSP ) ."- " ."hinhphu_ " .($ max +$ i +1 ). ". " . $ file_ext ;
494
+
495
+ //lưu tên để sau chèn vào database:
496
+ $ arr_tenhinhphu [] = $ newname ;
497
+
498
+ //đường dẫn lưu file:
499
+ $ path = '../upload/sanpham/hinhphu/ ' . $ newname ;
500
+ if (move_uploaded_file ($ _FILES ['hinhphu ' ]['tmp_name ' ][$ i ], $ path ) == false ){
501
+ $ this ->errors ['hinhphu ' ] = 'Có lỗi xảy ra, xin thử lại! ' ;
502
+ header ("Location: index.php?a=sanpham-hinhphu&idSP= $ idSP " );
503
+ return false ;
504
+ }
505
+
506
+ $ sql = "INSERT INTO sanpham_hinh VALUES(null, $ idSP, ' {$ arr_tenhinhphu [$ i ]}') " ;
507
+ if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
508
+ }
509
+ $ _SESSION ['success ' ] = '<p class="alert alert-success">up thành công!</p> ' ;
510
+ header ("Location: index.php?a=sanpham-hinhphu&idSP= $ idSP " );
511
+ }
512
+ }
513
+
514
+ public function xoahinhphu ($ idHinh , $ urlHinh , $ idSP ){
515
+ $ sql = "DELETE FROM sanpham_hinh WHERE id_hinh= $ idHinh " ;
516
+ if (!$ result = $ this ->db ->query ($ sql )) die ("loi ket noi " );
517
+ unlink ('../upload/sanpham/hinhphu/ ' .$ urlHinh );
518
+ $ _SESSION ['success ' ] = 'Đã xóa thành công 1 hình phụ ' ;
519
+ header ("location: index.php?a=sanpham-hinhphu&idSP= $ idSP " );
370
520
}
371
521
372
522
public function xoasanpham ($ idSP ){
@@ -543,11 +693,5 @@ public function xoauser($idUser){
543
693
$ _SESSION ['message ' ] = 'Đã xóa thành công user ' ;
544
694
header ("Location: index.php?a=user-xem " );
545
695
}
546
-
547
- private function validate ($ input ){
548
- $ input = $ this ->db ->escape_string ($ input );
549
- $ input = trim ($ input );
550
- return $ input ;
551
- }
552
696
553
697
}
0 commit comments