10/10/2018, 09:56

[HELP] hiện thông báo lỗi khi nhập sai

giờ sao để kiểm tra lỗi khi người dùng nhập trên thanh address nhỉ!?

ví dụ 1 bản tin của m có link là:

Code:
.../index.php?page=viewnews&id=61
khi người ta nhập

Code:
.../index.php?page=viewnews&id=61sdsd

hay: .../index.php?page=viewnews&id=600000
thì nó sẽ hiện ra thông báo

Eror page!!! Back
Please help me! ^^
Thank all very much!
hoangcn02 viết 12:02 ngày 10/10/2018
Thì kiểm tra trong dữ liệu xem có cái id đó tồn tại không, không có thì show cái thông báo lỗi, còn có thì hiện thông tin cái id đó ra là xong
rain1007ht viết 12:00 ngày 10/10/2018
1. ID phải convert sang kiểu int trước khi dùng vào câu truy vấn CSDL (nhằm tránh lỗi sql injection)
2. Bạn có thể dùng htaccess để thông báo lỗi khi id nhập không đúng định dạng.

Tin tức 777: http://tintuc.thichlamdep.com
thuyduongcd viết 11:58 ngày 10/10/2018
Được gửi bởi rain1007ht
1. ID phải convert sang kiểu int trước khi dùng vào câu truy vấn CSDL (nhằm tránh lỗi sql injection)
2. Bạn có thể dùng htaccess để thông báo lỗi khi id nhập không đúng định dạng.

PHP tutorial: http://tutorials.pip.vn/code/php
Thế mạnh của PHP chính là sự linh động trong sử dụng biến. Ai lại đi ép kiểu làm gì. Nếu muốn tránh SQL Injection thì có nhiều biện pháp, huống chi nếu muốn injection thì ID không phải là lựa chọn tốt, người ta thường nhắm vào những trường có kiểu chuỗi nhiều hơn(như username, firstname.... chẳng hạn)
haindse viết 12:05 ngày 10/10/2018
Được gửi bởi minhhn0205
giờ sao để kiểm tra lỗi khi người dùng nhập trên thanh address nhỉ!?

ví dụ 1 bản tin của m có link là:

Code:
.../index.php?page=viewnews&id=61
khi người ta nhập

Code:
.../index.php?page=viewnews&id=61sdsd

hay: .../index.php?page=viewnews&id=600000
thì nó sẽ hiện ra thông báo



Please help me! ^^
Thank all very much!
GET cái biến id xuống , kiểm tra xem biến có hợp lệ không:
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
if (!$id){
// redirect or print error message.......
}
rồi query database để kiểm tra.
Tìm xem có tồn tại record nào có id như vậy không.
$total = "..........WHERE id = ".$id;

nếu có thì cho hiển thị ra, nếu không có thì hiện ra thông báo lỗi. Nếu muốn có thông báo lỗi như trên thì có 2 cách: cho redirect tới trang báo lỗi có message như trên hoặc dùng luôn:
if (!$total){
echo "type your error message here";
} else {
//-----------------Out put-------------------//

}
Bài liên quan
0