Khi làm việc với PHP, bạn sẽ bắt gặp hai phương thức có tên là $_POST và $_GET. Các phương thức này được sử dụng để lấy các giá trị từ người dùng thông qua biểu mẫu. Khi sử dụng chúng, bạn có thể gặp lỗi có tên là “Thông báo. Chỉ số không xác định".
Lỗi này có nghĩa là trong mã của bạn, có một biến hoặc hằng số không được gán giá trị cho nó. Nhưng bạn có thể đang cố gắng sử dụng các giá trị thu được thông qua biểu mẫu người dùng trong mã PHP của mình
Có thể tránh được lỗi bằng cách sử dụng hàm isset[]. Hàm này sẽ kiểm tra xem các biến chỉ mục có được gán giá trị hay không trước khi sử dụng chúng
Lỗi chỉ mục PHP không xác định
Một chỉ mục không xác định là một 'thông báo' chẳng hạn như sau
"Lưu ý. Biến không xác định,”
"Lưu ý. Chỉ mục không xác định” và “Thông báo. phần bù không xác định. ”
Như bạn có thể thấy ở trên là tất cả các thông báo, đây là hai cách để xử lý các thông báo đó
1] Bỏ qua các thông báo đó
2] Giải quyết các thông báo đó.
Cách bỏ qua thông báo PHP. Chỉ số không xác định
Bạn có thể bỏ qua thông báo này bằng cách tắt báo cáo thông báo với tùy chọn error_reporting
1. php. ban đầu
mở php. ini trong trình chỉnh sửa yêu thích của bạn và tìm kiếm văn bản “error_reporting”, giá trị mặc định là E_ALL. Bạn có thể đổi thành E_ALL & ~E_NOTICE
theo mặc định
error_reporting = E_ALL
Thay đổi nó thành
error_reporting = E_ALL & ~E_NOTICE
Bây giờ trình biên dịch PHP của bạn sẽ hiển thị tất cả các lỗi ngoại trừ 'Thông báo. '
2. Mã PHP
Nếu bạn không có quyền truy cập để thực hiện các thay đổi trong php. ini, Trong trường hợp này, bạn cần tắt thông báo bằng cách thêm đoạn mã sau vào đầu trang php của bạn
Bây giờ trình biên dịch PHP của bạn sẽ hiển thị tất cả các lỗi ngoại trừ 'Thông báo. '
Giải pháp hoặc Khắc phục cho Thông báo PHP. Chỉ số không xác định
Nguyên nhân của lỗi
Lỗi này xảy ra với phương thức $ _POST và $ _GET khi bạn sử dụng chỉ mục hoặc biến chưa được đặt thông qua phương thức $ _POST hoặc $ _GET, nhưng bạn đã sử dụng giá trị của chúng trong mã PHP của mình
Chỉ mục không xác định trong PHP $_get
Ví dụ sử dụng $_GET
Trong ví dụ sau, chúng tôi đã sử dụng hai biến 'tên' & 'tuổi', nhưng chúng tôi chỉ đặt biến tên thông qua phương thức $_GET, đó là lý do tại sao nó đưa ra thông báo
http. // trang web của bạn. com/chỉ mục. php?name=ram
ĐẦU RA
Notice: Undefined index: age \index.php on line 5
Dung dịch
Để khắc phục lỗi này, bạn có thể sử dụng hàm isset[] để kiểm tra xem chỉ mục hoặc biến có được đặt hay không, nếu không thì không sử dụng
if[isset[$_GET[tên lỗi chỉ mục]]]
Mã có Lỗi được giải quyết bằng hàm isset[]
http. // trang web của bạn. com/chỉ mục. php?name=ram
Age not set in GET Method";
}
echo $name;
echo $age;
?>
ĐẦU RA
ram
Age not set in GET Method
Đặt Chỉ mục là trống
Chúng tôi cũng có thể đặt chỉ mục làm chỉ mục trống
// example with $_POST method
$name = isset[$_POST['name']] ? $_POST['name'] : '';
$name = isset[$_POST['age']] ? $_POST['age'] : '';
// example with $_GET method
$name = isset[$_GET['name']] ? $_GET['name'] : '';
$name = isset[$_GET['age']] ? $_GET['age'] : '';
Lưu ý. Biến không xác định
Thông báo này xảy ra khi bạn sử dụng bất kỳ biến nào trong mã PHP của mình, biến này không được đặt
Ví dụ
đầu ra
Notice: Undefined variable: age in D:\xampp\htdocs\testsite.loc\index.php on line 7
Trong ví dụ trên, chúng tôi đang hiển thị giá trị được lưu trữ trong biến 'tên' và 'tuổi', nhưng chúng tôi không đặt biến 'tuổi'
Các giải pháp
Để khắc phục loại lỗi này, bạn có thể xác định biến là toàn cục và sử dụng hàm isset[] để kiểm tra xem biến này có được đặt hay không
________số 8Lưu ý. Độ lệch không xác định
Loại lỗi này xảy ra với mảng khi chúng ta sử dụng khóa của mảng không được đặt
Trong ví dụ sau đây, chúng tôi đang hiển thị kho lưu trữ giá trị trong khóa mảng 1, nhưng chúng tôi không đặt trong khi khai báo mảng “$colorarray. ”
Ví dụ
'Red',3=>'Green',4=>'Blue',5=>'Yellow'];
// echo value of array at offset 1.
echo $colorarray[1];
?>
đầu ra.
0Các giải pháp
Kiểm tra giá trị của mảng offset bằng hàm isset[] & empty[], và sử dụng hàm array_key_exists[] để kiểm tra key có tồn tại hay không
Bạn sẽ phải chọn phần mở rộng PHP [. php] khi bạn muốn mã php được thực thi trong tệp. Mã PHP là mã giữa các thẻ mở
1
2 bởi đầu ra của mã PHP. Cũng như thể bạn đã viết nó bằng tay. Tệp được xử lý sau đó sẽ được gửi tới trình duyệt
3