"Thông báo chỉ mục không xác định" có nghĩa là gì trong PHP?

Thông báo PHP. Chỉ số không xác định. HTTP_USER_AGENT

Thông báo PHP. Chỉ số không xác định. HTTP_USER_AGENT

  • Đã giải quyết blkpudd

    [@blkpudd]


    1 năm, 3 tháng trước

    Chúng tôi đang nhận được thông báo trong nhật ký Gỡ lỗi của mình như sau

    Thông báo PHP. Chỉ số không xác định. HTTP_USER_AGENT trong /wordpress/wp-content/plugins/specific-content-for-mobile/specific-content-for-mobile. php trên dòng 413-427

    Có điều gì lo lắng không

    Cảm ơn bạn

    Trang tôi cần trợ giúp. [đăng nhập để thấy link]

Đang xem 1 trả lời [trong tổng số 1]

  • Tác giả plugin Jose

    [@giuse]

    Xin chào @blkpudd

    Trong phiên bản tiếp theo, bạn sẽ không thấy thông báo này nữa, nhưng bạn không phải lo lắng về nó

    Điều đó có nghĩa là trang không được truy cập bởi một trình duyệt thông thường [e. g. người máy, WP CLI. ] bởi vì nếu một trình duyệt thông thường truy cập trang thì $_SERVER[‘HTTP_USER_AGENT’] luôn được xác định

    Trong khi nó chỉ là một thông báo. Chỉ số không xác định. Điều đó có nghĩa là PHP đang cho bạn biết có một số biến bạn đang cố xử lý bằng PHP nhưng chúng không được gửi cùng với biểu mẫu

    Khi bạn bắt các biến bằng PHP nhưng có một số biến $_POST không được định nghĩa trong

    Lỗi này thường xuất hiện trên localhost xampp, nhưng không xuất hiện trong máy chủ trực tuyến, khiến các máy chủ trực tuyến tắt tính năng này trong php để thông báo cho các biến không xác định. Nhưng trong cấu hình localhost hoặc xampp, cái này không được tắt nên chúng tôi thấy lỗi này

    Xử lý hộp kiểm Chỉ mục không xác định

    Xử lý việc gửi hộp kiểm trống hoặc không xác định là một chút khó khăn. Không giống như văn bản hoặc các trường khác nếu hộp kiểm không được chọn, biểu mẫu PHP sẽ không gửi giá trị trống. Vì vậy, trong trường hợp đó, điều quan trọng là phải kiểm tra xem hộp kiểm có được đặt hay không. Đối với các trường văn bản nếu bạn chắc chắn rằng chúng đang được gửi, bạn không cần kiểm tra vì ít nhất chúng gửi giá trị trống. Nhưng đối với hộp kiểm, bạn phải kiểm tra một cái gì đó như

    Đây là điều kiện if nội tuyến của PHP

    $_POST['wc_use_taxes'] = !isset[$_POST['wc_use_taxes']]? "" : $_POST['wc_use_taxes'];

    Đoạn mã trên sẽ kiểm tra xem một biến wc_use_taxes không được gửi qua biểu mẫu hay không, nó sẽ đặt giá trị mặc định của nó là trống và sẽ xác định một biến trống để sử dụng trong các hộp kiểm

    Chỉ số không xác định

    Chỉ mục không xác định thực sự có nghĩa là bạn có một biến hoặc hằng số trong tệp php của mình không được xác định hoặc gán bất kỳ giá trị nào có nghĩa là biến trống

    Giả sử bạn đang lưu giá trị đã đăng từ một biểu mẫu vào một biến có tên user_email như thế này

    $user_email = $_POST[‘user_email’];

    Khi bạn gửi biểu mẫu, bạn sẽ không thấy lỗi này vì lúc đó biến $user_email của chúng tôi sẽ chứa một chuỗi có thể trống hoặc có bất kỳ thứ gì trong đó. Nhưng khi bạn truy cập trang trực tiếp qua url và không gửi biểu mẫu thì không có cách nào php có thể gán giá trị cho biến $user_email, đó là lý do tại sao php sẽ đưa ra thông báo cho bạn biết đây là chỉ mục không xác định. Tôi không khuyên bạn nên tắt Thông báo qua cấu hình PHP

    Cách xóa Thông báo. Chỉ số không xác định

    Là một nhà phát triển php, tôi đã gặp vấn đề này nhiều lần nhưng tôi luôn chỉ sử dụng 2 phương pháp để xử lý các thông báo này

    1. Đặt biến xác định thời điểm nó nhận giá trị từ thứ khác trong câu lệnh if[]. Như thế này

      if[isset[$_POST]] { $user_email = $_POST[‘user_email’]; . Vì POST cũng không được đặt tại sao không báo lỗi? .

      This statement will only run if POST array is set if not then this will not run and will not produce any notice. As POST is also not set why not error? cause we are just checking it with isset function within if condition.
    2. Khi tôi có nhiều biến trong 1 tệp và tôi muốn tắt các thông báo này cho tệp đó chứ không phải cho các tệp khác thì tôi đặt thông báo này ở đầu tài liệu php của mình

    [php]//để tắt Thông báo lỗi trên Hệ thống. xóa thông báo.
    báo_báo_lỗi[ error_reporting[] & ~E_NOTICE ];[/php]

    Điều này sẽ không chỉ tắt thông báo chỉ mục không xác định mà tất cả các thông báo khác mà php cũng muốn cung cấp cho bạn

    Hàm khởi tạo PHP là gì?

    Hàm Isset trong PHP trả về true hoặc false nếu biến được đặt hay không. Luôn luôn là một phương pháp hay để kiểm tra xem các biến có được đặt hay không trước khi bạn xử lý chúng

    Hướng dẫn này sẽ hướng dẫn bạn cách giải quyết thông báo lỗi biến, chỉ mục hoặc lỗi bù không xác định mà bạn đang gặp phải trong PHP. Lỗi này rất dễ phát hiện trong nhật ký cảnh báo và thông báo lỗi. Do đó, bạn thường sẽ thấy một thông báo lỗi mô tả như thế này

    1. Để ý. Biến không xác định
    2. Để ý. Chỉ mục chưa xác định
    3. Để ý. Độ lệch không xác định

    Mục lục

    Mô tả vấn đề

    Thông báo lỗi biến, chỉ mục và bù không xác định rất phổ biến trong PHP. Vì vậy, hãy xem một số ví dụ mã sẽ xuất ra các lỗi này

    ví dụ 1

    Dưới đây là một ví dụ về mã sẽ xuất ra thông báo lỗi biến không xác định

Chủ Đề