Hướng dẫn undefined index php - chỉ mục không xác định php

Undefined index

Khi thực hiện việc Insert dữ liệu vào MySQL trong PHP có xuất hiện một số lỗi như sau:Notice: Undefined index: 0 in C:\xampp\htdocs\admin2\library\phanquyen.php on line 92 Tim đến dòng 92:
Notice: Undefined index: 0 in C:\xampp\htdocs\admin2\library\phanquyen.php on line 92
Tim đến dòng 92:

Show

if($_POST["$i"]=='on')

Lưu ý ở đây không xảy ra lỗi cú pháp PHPLỗi này xuất hiện thị do cấu hình thông báo lỗi của PHP, thông thường thông báo này sẽ xuất hiện khi tên biến của bạn được đặt chưa đúng quy cách. Có một số cách để sửa lỗi này như:Đơn giản cần kiểm tra biến $_POST trước, ở đây sẽ thêm đoạn code sau lên phía trước dòng 92:
Lỗi này xuất hiện thị do cấu hình thông báo lỗi của PHP, thông thường thông báo này sẽ xuất hiện khi tên biến của bạn được đặt chưa đúng quy cách.
Có một số cách để sửa lỗi này như:
Đơn giản cần kiểm tra biến $_POST trước, ở đây sẽ thêm đoạn code sau lên phía trước dòng 92:

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
0
$variable = null;
$isset = isset($variable);
var_dump($isset); // false
1
$variable = null;
$isset = isset($variable);
var_dump($isset); // false
1

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
2
$variable = null;
$isset = isset($variable);
var_dump($isset); // false
3
$variable = null;
$isset = isset($variable);
var_dump($isset); // false
3

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
4

Hàm isset () không kiểm tra xem một biến có được xác định không.

Có vẻ như bạn đã tuyên bố cụ thể rằng bạn không tìm kiếm

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
5 trong câu hỏi. Tôi không biết tại sao có rất nhiều câu trả lời nói rằng
$variable = null;
$isset = isset($variable);
var_dump($isset); // false
5 là cách để đi, hoặc tại sao câu trả lời được chấp nhận cũng nói.

Nội phân Chính showShow

  • Hàm isset () không kiểm tra xem một biến có được xác định không.
  • Có vẻ như bạn đã tuyên bố cụ thể rằng bạn không tìm kiếm
    $variable = null;
    $isset = isset($variable);
    var_dump($isset); // false
    
    5 trong câu hỏi. Tôi không biết tại sao có rất nhiều câu trả lời nói rằng
    $variable = null;
    $isset = isset($variable);
    var_dump($isset); // false
    
    5 là cách để đi, hoặc tại sao câu trả lời được chấp nhận cũng nói.
  • Nội phân Chính show
  • Code: 
  • Vậy làm thế nào để bạn thực sự kiểm tra nếu một biến được xác định? Bạn kiểm tra các biến được xác định.
  • Lỗi chỉ số PHP không xác định là gì?
  • Làm thế nào để bỏ qua thông báo PHP: Chỉ mục không xác định?
  • 1. Thêm mã ở đầu trang
  • 2. Thay đổi trong php.ini & nbsp;

Làm thế nào để khắc phục thông báo PHP: Chỉ mục không xác định?

Chỉ mục không xác định trong PHP $ _GET

Điều quan trọng là phải nhận ra trong lập trình rằng NULL là một cái gì đó. Tôi không biết tại sao người ta đã quyết định rằng

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
5 sẽ trả về sai nếu giá trị là null.

$isset = isset($variable);
var_dump($isset); // false

Để kiểm tra xem một biến không được xác định, bạn sẽ phải kiểm tra xem biến có nằm trong danh sách các biến được xác định không, sử dụng

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
8. Không có tương đương với không xác định của JavaScript (đó là những gì được thể hiện trong câu hỏi, không có jQuery nào được sử dụng ở đó).

$variable = null;
$isset = isset($variable);
var_dump($isset); // false

Trong ví dụ sau, nó sẽ hoạt động giống như kiểm tra không xác định của JavaScript.

Có vẻ như bạn đã tuyên bố cụ thể rằng bạn không tìm kiếm $variable = null; $isset = isset($variable); var_dump($isset); // false 5 trong câu hỏi. Tôi không biết tại sao có rất nhiều câu trả lời nói rằng $variable = null; $isset = isset($variable); var_dump($isset); // false 5 là cách để đi, hoặc tại sao câu trả lời được chấp nhận cũng nói.

Nội phân Chính show

$variable = null;
$isset = array_key_exists('variable', get_defined_vars());
var_dump($isset); // true


$isset = array_key_exists('otherVariable', get_defined_vars());
var_dump($isset); // false

Vậy làm thế nào để bạn thực sự kiểm tra nếu một biến được xác định? Bạn kiểm tra các biến được xác định.

Lỗi chỉ số PHP không xác định là gì?

isset($extensionData['Calories']) ? $extensionData['Calories'] : ''

Làm thế nào để bỏ qua thông báo PHP: Chỉ mục không xác định?

echo isset($extensionData['Calories']) ? $extensionData['Calories'] : '';

$tmp_var = isset($extensionData['Calories']) ? $extensionData['Calories'] : '';

return isset($extensionData['Calories']) ? $extensionData['Calories'] : '';

1. Thêm mã ở đầu trang

if(isset($extensionData['Calories']))
{
    // use $extensionData['Calories']
}
else
{
    // use empty string ''
}

2. Thay đổi trong php.ini & nbsp;

echo '<p>' . (isset($extensionData['Calories']) ? $extensionData['Calories'] : '') . '</p>';

Làm thế nào để khắc phục thông báo PHP: Chỉ mục không xác định?

echo '<p>' . isset($extensionData['Calories']) ? $extensionData['Calories'] : '' . '</p>';

Chỉ mục không xác định trong PHP $ _GET

if('<p>' . isset($extensionData['Calories'])) // The leading string is used in the comparison and the result of isset() (boolean) is appended to the string so 100% of the time this example will be true because of how loose comparisons work
{
    echo $extensionData['Calories']; // Produces Undefined index error
}
else
{
    echo '' . '</p>';
}

Điều quan trọng là phải nhận ra trong lập trình rằng NULL là một cái gì đó. Tôi không biết tại sao người ta đã quyết định rằng

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
5 sẽ trả về sai nếu giá trị là null.

Để kiểm tra xem một biến không được xác định, bạn sẽ phải kiểm tra xem biến có nằm trong danh sách các biến được xác định không, sử dụng

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
8. Không có tương đương với không xác định của JavaScript (đó là những gì được thể hiện trong câu hỏi, không có jQuery nào được sử dụng ở đó).

Trong ví dụ sau, nó sẽ hoạt động giống như kiểm tra không xác định của JavaScript.

Nhưng trong ví dụ này, nó sẽ không hoạt động như kiểm tra không xác định của JavaScript.

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
9 đang được định nghĩa là NULL, nhưng cuộc gọi
$variable = null;
$isset = isset($variable);
var_dump($isset); // false
5 vẫn không thành công.

Sử dụng

$variable = null;
$isset = isset($variable);
var_dump($isset); // false
8 sẽ trả về một mảng kết hợp với các khóa làm tên và giá trị biến làm giá trị biến. Chúng tôi vẫn không thể sử dụng
$variable = null;
$isset = array_key_exists('variable', get_defined_vars());
var_dump($isset); // true


$isset = array_key_exists('otherVariable', get_defined_vars());
var_dump($isset); // false
2 ở đây vì khóa có thể tồn tại và giá trị vẫn còn vô giá trị, vì vậy chúng tôi phải sử dụng
$variable = null;
$isset = array_key_exists('variable', get_defined_vars());
var_dump($isset); // true


$isset = array_key_exists('otherVariable', get_defined_vars());
var_dump($isset); // false
3.

Nội phân Chính show

Vậy làm thế nào để bạn thực sự kiểm tra nếu một biến được xác định? Bạn kiểm tra các biến được xác định.

Code: 

$ name = $ _get ['name'];

$ AGE = $ _GET ['Tuổi'];

$ Lớp = $ _Get [‘Lớp];

echo 'Tên:'. $ Tên;

Echo 'Tuổi:'. $ Tuổi;

Echo ‘Lớp:‘. $ Lớp;

?>

Bạn có thể sửa nó bằng hàm isset (), mà chúng tôi sẽ thảo luận thêm trong các phần sắp tới.

Result: 

Hướng dẫn undefined index php - chỉ mục không xác định php

Chỉ số không xác định là một thông báo trong PHP và đó là một lựa chọn của nhà phát triển để bỏ qua nó hoặc sửa nó.

Làm thế nào để bỏ qua thông báo PHP: Chỉ mục không xác định?

Code:

$ name = $ _get ['name'];

Chỉ số không xác định trong PHP là một thông báo được tạo bởi ngôn ngữ. Cách đơn giản nhất để bỏ qua một thông báo như vậy là yêu cầu PHP ngừng tạo các thông báo như vậy. Bạn có thể thêm một dòng mã nhỏ ở đầu trang PHP hoặc chỉnh sửa trường & nbsp; error_reporting & nbsp; trong tệp php.ini.

$ name = $ _get ['name'];

Result:

undefined_Index_Php_4

1. Thêm mã ở đầu trang

Code:

$ name = $ _get ['name'];

Một cách đơn giản để yêu cầu PHP để vô hiệu hóa báo cáo thông báo là đặt một dòng mã ở đầu trang PHP.

if(isset($name))

Hoặc bạn có thể thêm mã sau để dừng tất cả các báo cáo lỗi,

Một cách đơn giản để yêu cầu PHP để vô hiệu hóa báo cáo thông báo là đặt một dòng mã ở đầu trang PHP.

Bạn có thể sửa nó bằng hàm isset (), mà chúng tôi sẽ thảo luận thêm trong các phần sắp tới.

Result: 

undefined_Index_Php_5.

Chỉ số không xác định là một thông báo trong PHP và đó là một lựa chọn của nhà phát triển để bỏ qua nó hoặc sửa nó.

Code: 

$ name = $ _get ['name'];

Làm thế nào để bỏ qua thông báo PHP: Chỉ mục không xác định?

Chỉ số không xác định trong PHP là một thông báo được tạo bởi ngôn ngữ. Cách đơn giản nhất để bỏ qua một thông báo như vậy là yêu cầu PHP ngừng tạo các thông báo như vậy. Bạn có thể thêm một dòng mã nhỏ ở đầu trang PHP hoặc chỉnh sửa trường & nbsp; error_reporting & nbsp; trong tệp php.ini.

Bạn có thể sửa nó bằng hàm isset (), mà chúng tôi sẽ thảo luận thêm trong các phần sắp tới.

Result:

undefined_Index_Php_6.

Chỉ số không xác định là một thông báo trong PHP và đó là một lựa chọn của nhà phát triển để bỏ qua nó hoặc sửa nó.

Làm thế nào để bỏ qua thông báo PHP: Chỉ mục không xác định?

Chỉ số không xác định trong PHP là một thông báo được tạo bởi ngôn ngữ. Cách đơn giản nhất để bỏ qua một thông báo như vậy là yêu cầu PHP ngừng tạo các thông báo như vậy. Bạn có thể thêm một dòng mã nhỏ ở đầu trang PHP hoặc chỉnh sửa trường & nbsp; error_reporting & nbsp; trong tệp php.ini.

Code:

$ name = $ _get ['name'];

1. Thêm mã ở đầu trang

Một cách đơn giản để yêu cầu PHP để vô hiệu hóa báo cáo thông báo là đặt một dòng mã ở đầu trang PHP.

Bạn có thể sửa nó bằng hàm isset (), mà chúng tôi sẽ thảo luận thêm trong các phần sắp tới.

Result:

Chỉ số không xác định là một thông báo trong PHP và đó là một lựa chọn của nhà phát triển để bỏ qua nó hoặc sửa nó.

undefined_Index_Php_7.

Làm thế nào để bỏ qua thông báo PHP: Chỉ mục không xác định?

Code: 

$ name = $ _get ['name'];

1. Thêm mã ở đầu trang

Một cách đơn giản để yêu cầu PHP để vô hiệu hóa báo cáo thông báo là đặt một dòng mã ở đầu trang PHP.

Hoặc bạn có thể thêm mã sau để dừng tất cả các báo cáo lỗi,

if(isset($nameArray[3]))

2. Thay đổi trong php.ini & nbsp;

    }

Php.ini là một tệp cấu hình và rất cần thiết cho tất cả các chương trình chạy trên PHP. Mở tệp này và tìm trường & nbsp; error_Reporting. Cách dễ nhất là sử dụng phím tắt Ctrl + F. Theo mặc định, báo cáo lỗi được đặt thành e_all. Điều đó có nghĩa là tất cả các lỗi được báo cáo. Thay đổi điều này thành e_all & ~ e_notice. Nó có nghĩa là tất cả các lỗi ngoại trừ các thông báo bây giờ sẽ được báo cáo.

if(isset($nameArray[1]))

Làm thế nào để khắc phục thông báo PHP: Chỉ mục không xác định?

Chúng tôi biết nguyên nhân của lỗi. Nó xảy ra khi chúng tôi sử dụng các phương thức $ _GET và $ _POST để nhận đầu vào, nhưng chúng tôi tham khảo nó ngay cả khi nó chưa được đặt. Giải pháp chỉ đơn giản là kiểm tra xem nó đã được đặt trước khi tham khảo.

Chúng ta có thể sử dụng hàm isset (), trong đó kiểm tra xem biến có được đặt hay không trước khi tham chiếu đến chúng. Hàm isset () trả về đúng hoặc sai tùy thuộc vào nó.

Hoặc bạn có thể thêm mã sau để dừng tất cả các báo cáo lỗi,

2. Thay đổi trong php.ini & nbsp;

Php.ini là một tệp cấu hình và rất cần thiết cho tất cả các chương trình chạy trên PHP. Mở tệp này và tìm trường & nbsp; error_Reporting. Cách dễ nhất là sử dụng phím tắt Ctrl + F. Theo mặc định, báo cáo lỗi được đặt thành e_all. Điều đó có nghĩa là tất cả các lỗi được báo cáo. Thay đổi điều này thành e_all & ~ e_notice. Nó có nghĩa là tất cả các lỗi ngoại trừ các thông báo bây giờ sẽ được báo cáo.

Làm thế nào để khắc phục thông báo PHP: Chỉ mục không xác định?

Chúng tôi biết nguyên nhân của lỗi. Nó xảy ra khi chúng tôi sử dụng các phương thức $ _GET và $ _POST để nhận đầu vào, nhưng chúng tôi tham khảo nó ngay cả khi nó chưa được đặt. Giải pháp chỉ đơn giản là kiểm tra xem nó đã được đặt trước khi tham khảo.

Hoặc bạn có thể thêm mã sau để dừng tất cả các báo cáo lỗi,

if(!empty($nameArray[3]))

2. Thay đổi trong php.ini & nbsp;

Php.ini là một tệp cấu hình và rất cần thiết cho tất cả các chương trình chạy trên PHP. Mở tệp này và tìm trường & nbsp; error_Reporting. Cách dễ nhất là sử dụng phím tắt Ctrl + F. Theo mặc định, báo cáo lỗi được đặt thành e_all. Điều đó có nghĩa là tất cả các lỗi được báo cáo. Thay đổi điều này thành e_all & ~ e_notice. Nó có nghĩa là tất cả các lỗi ngoại trừ các thông báo bây giờ sẽ được báo cáo.

if(!empty($nameArray[4]))

Làm thế nào để khắc phục thông báo PHP: Chỉ mục không xác định?

Bạn có thể sửa nó bằng hàm isset (), mà chúng tôi sẽ thảo luận thêm trong các phần sắp tới.

Result:

undefined_Index_Php_8.

Chỉ số không xác định là một thông báo trong PHP và đó là một lựa chọn của nhà phát triển để bỏ qua nó hoặc sửa nó.

Sự kết luận

Trong bài viết này, chúng tôi đã tìm hiểu về chỉ số không xác định trong PHP.Tuy nhiên, nó chỉ là một trong nhiều lỗi, cảnh báo và thông báo mà một nhà phát triển PHP phải đối phó.Nếu bạn đang tìm cách tạo ra sự nghiệp trong việc phát triển các ứng dụng web và xử lý các lỗi như vậy, SimpleLearn đang cung cấp & NBSP; một chương trình sau đại học trong phát triển web đầy đủ, hợp tác với Caltech CTME.SimpleLearn là bootcamp trực tuyến số 1 thế giới đã giúp thúc đẩy 2.000.000 sự nghiệp thông qua sự hợp tác với các trường đại học hàng đầu thế giới.