Hướng dẫn how do i fix undefined variables in php? - làm cách nào để sửa các biến không xác định trong php?
PHP là một ngôn ngữ lập trình mạnh mẽ được sử dụng bởi nhiều trang web trên thế giới. Tuy nhiên, đôi khi PHP có thể ném một thông báo lỗi nói rằng Thông báo: Biến không xác định trên trang web của bạn. Điều này có thể gây nhầm lẫn cho khách truy cập trang web của bạn và làm hỏng trải nghiệm người dùng của họ. Trong bài viết này, chúng tôi sẽ xem xét thông báo lỗi này có nghĩa là gì và cách khắc phục thông báo lỗi này. Show
Khi bạn nhận được một thông báo lỗi, thông báo thông báo: biến không xác định, trong PHP, điều đó có nghĩa là bạn đang cố gắng sử dụng một biến hoặc hằng số không được xác định. Đây là một ví dụ về lỗi này Trong ví dụ trên, chúng tôi đã xác định biến $ DOB nhưng đang gọi $ biến tuổi không được xác định. Vì vậy, bạn sẽ thấy lỗi sau. Notice: Undefined variable: age in \test.php on line 3 Có hai cách để khắc phục lỗi này. Hoặc bạn có thể giải quyết lỗi này hoặc bỏ qua lỗi này. Cũng đọc: Cách chạy tập lệnh PHP tự động Khắc phục lỗi bằng cách sử dụng hàm isset ()Bạn có thể sử dụng Xác định các biến của mình làm chức năng toàn cầu và sử dụng ISSET () để kiểm tra xem biến có được đặt hay không trước khi gọi nó. Đây là một ví dụ Output Variable age is not set Cũng đọc: Cách tắt Duyệt thư mục trong Apache Khắc phục lỗi bằng cách đặt biến thành giá trị trống hoặc giá trị mặc địnhMột cách khác để khắc phục vấn đề này, là đặt nó là trống. Output Age: 0 Cũng đọc: Cách ngăn chặn tải xuống tệp trực tiếp trong Apache Chúng tôi cũng có thể bỏ qua thông báo này thay vì sửa chữa nó, mặc dù không nên làm như vậy. Dưới đây là một vài cách để vô hiệu hóa thông báo lỗi này xuất hiện. Tắt thông báo hiển thị trong tệp php.iniMở tệp php.ini trong trình soạn thảo văn bản. Tìm dòng sau error_reporting = E_ALL Thay đổi nó thành error_reporting = E_ALL & ~E_NOTICE Khởi động lại máy chủ Apache để áp dụng các thay đổi. Bây giờ trình biên dịch PHP sẽ hiển thị tất cả các lỗi ngoại trừ ‘thông báo loại lỗi. Cũng đọc: Cách kiểm tra xem mod_deflate có được bật không Tắt thông báo hiển thị trong mã PHPNếu bạn không có quyền truy cập vào tệp php.ini, thì chỉ cần thêm dòng sau ở đầu tệp PHP của bạn để vô hiệu hóa các lỗi thông báo. Đó là nó. Trong bài viết này, chúng tôi đã học được cách đối phó với lỗi biến không xác định trong PHP. Sử dụng các biến mà không xác định giá trị của chúng gây ra lỗi này và có thể dễ dàng tránh được bằng cách sử dụng hàm isset () để kiểm tra xem chúng có được đặt hay không, trước khi sử dụng chúng. Cũng đọc: Cách giới hạn các yêu cầu trên mỗi IP trong Apache Bài viết liên quan:Tại sao chuyện này đang xảy ra?Theo thời gian, PHP đã trở thành một ngôn ngữ tập trung vào bảo mật hơn. Các cài đặt đã từng bị tắt theo mặc định hiện được bật theo mặc định. Một ví dụ hoàn hảo về điều này là Notice: Undefined variable: age in \test.php on line 31, được bật theo mặc định kể từ Php 5.4.0. Hơn nữa, theo tài liệu PHP, theo mặc định, Notice: Undefined variable: age in \test.php on line 32 bị vô hiệu hóa trong tệp php.ini. Tài liệu PHP khuyên bạn nên bật nó cho mục đích gỡ lỗi. Tuy nhiên, khi tôi tải xuống PHP từ kho lưu trữ Ubuntu và từ Windows Stack của Bitnami, tôi sẽ thấy một cái gì đó khác.
Lưu ý rằng Notice: Undefined variable: age in \test.php on line 33 thực sự được đặt thành giá trị sản xuất theo mặc định, không phải là giá trị "mặc định" theo mặc định. Điều này có phần khó hiểu và không được ghi nhận bên ngoài php.ini, vì vậy tôi đã không xác nhận điều này trên các phân phối khác.not validated this on other distributions. Tuy nhiên, để trả lời câu hỏi của bạn, lỗi này xuất hiện ngay bây giờ khi nó không bật lên trước đây vì:
Tôi có thể làm gì với nó?
Để mở rộng trên tùy chọn 3: Đây là lý tưởng. Nếu bạn có thể đi theo con đường này, bạn nên. Nếu bạn không đi theo tuyến đường này ban đầu, hãy xem xét việc di chuyển tuyến đường này cuối cùng bằng cách kiểm tra mã của bạn trong môi trường phát triển. Trong khi bạn đang ở đó, hãy loại bỏ Output Variable age is not set5 và Output Variable age is not set6 để xem những gì có thể xảy ra trong tương lai. Bạn sẽ thấy rất nhiều lỗi lạ, nhưng nó sẽ ngăn bạn gặp bất kỳ vấn đề khó chịu nào khi bạn cần nâng cấp PHP trong tương lai. Các lỗi có nghĩa là gì?Output Variable age is not set7 - Điều này xảy ra khi một biến chưa được xác định trước khi sử dụng. Khi tập lệnh PHP được thực thi, nó bên trong chỉ giả định giá trị null. Tuy nhiên, bạn cần kiểm tra một biến trong kịch bản nào trước khi được xác định? Cuối cùng, đây là một đối số cho "mã cẩu thả". Là một nhà phát triển, tôi có thể nói với bạn rằng tôi yêu nó khi tôi thấy một dự án nguồn mở trong đó các biến được xác định là cao trong phạm vi của chúng như chúng có thể được xác định. Nó giúp cho việc biết các biến nào sẽ xuất hiện trong tương lai dễ dàng hơn và giúp đọc/tìm hiểu mã dễ dàng hơn.
Output Variable age is not set8 - Điều này xảy ra khi bạn cố gắng truy cập một giá trị trong một mảng và nó không tồn tại. Để ngăn ngừa lỗi này, hãy thực hiện kiểm tra có điều kiện.
Một tùy chọn khác là khai báo một mảng trống ở đầu chức năng của bạn. Không phải lúc nào cũng khả thi. Notice: Undefined variable: age in \test.php on line 30 (Mẹo bổ sung)
Tại sao tôi nhận được các biến không xác định PHP?Biến không xác định: Không tìm thấy định nghĩa của biến trong các tệp dự án, được cấu hình bao gồm các đường dẫn hoặc trong số các biến được xác định trước PHP. Biến có thể chưa được xác định: có một hoặc nhiều đường dẫn để tiếp cận dòng với việc sử dụng biến mà không cần xác định nó.the variable's definition is not found in the project files, configured include paths, or among the PHP predefined variables. Variable might have not been defined: there are one or more paths to reach the line with the variable usage without defining it.
Làm thế nào bạn có thể xác định chính xác một biến trong PHP?Quy tắc cho các biến PHP:.. Một biến bắt đầu với dấu $, theo sau là tên của biến .. Một tên biến phải bắt đầu bằng một chữ cái hoặc ký tự dấu gạch dưới .. Một tên biến không thể bắt đầu với một số .. Một tên biến chỉ có thể chứa các ký tự alpha-numeric và nhấn mạnh (A-Z, 0-9 và _). Lỗi không xác định trong PHP là gì?Lỗi này có nghĩa là trong mã của bạn, có một biến hoặc không đổi không có giá trị được gán 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 bạn.Có thể tránh lỗi bằng cách sử dụng hàm isset ().within your code, there is a variable or constant that has no value assigned to it. But you may be trying to use the values obtained through the user form in your PHP code. The error can be avoided by using the isset() function.
Làm thế nào kiểm tra biến được xác định trong PHP?Để kiểm tra xem một biến không được xác định, bạn có thể sử dụng các toán tử so sánh - toán tử bình đẳng == hoặc toán tử bình đẳng nghiêm ngặt ===.Nếu bạn khai báo một biến nhưng không gán một giá trị, nó sẽ tự động trả về không xác định.Do đó, nếu bạn cố gắng hiển thị giá trị của biến đó, từ "không xác định" sẽ được hiển thị.use comparison operators — the equality operator == or strict equality operator === . If you declare a variable but not assign a value, it will return undefined automatically. Thus, if you try to display the value of such variable, the word "undefined" will be displayed. |