Semasa proses pembangunan menggunakan PHP, kami sering menghadapi mesej ralat seperti Notis PHP: Pembolehubah tidak ditentukan: _POST. Mesej ralat ini disebabkan oleh pembolehubah tidak ditentukan atau tidak ditetapkan dipanggil dalam kod kami. Artikel ini menerangkan cara menyelesaikan mesej ralat ini.
1. Fahami mesej ralat pembolehubah Tidak ditentukan
Dalam PHP, $_POST ialah pembolehubah global yang dipratentukan yang digunakan untuk menerima pembolehubah yang diluluskan oleh kaedah HTTP POST. Contohnya:
<?php if ($_POST['username'] == 'admin'){ //do something } ?>
Dalam kod di atas, kami menggunakan $_POST['username'] untuk mendapatkan nama pengguna dalam permintaan POST. Jika $_POST['username'] tidak ditakrifkan atau diberikan nilai, pembolehubah Tidak ditentukan: _POST mesej ralat akan dihasilkan.
2. Selesaikan mesej ralat pembolehubah tidak ditentukan
1 Elakkan penjanaan mesej ralat
Cara terbaik untuk mengelakkan mesej ralat pembolehubah tidak ditentukan adalah dengan mentakrifkan dan memulakan apa yang dimaksudkan. diperlukan dalam pembolehubah kod. Contohnya:
<?php $username = isset($_POST['username']) ? $_POST['username'] : ''; if ($username == 'admin'){ //do something } ?>
Dalam kod di atas, kita mula-mula menggunakan fungsi isset() untuk menentukan sama ada $_POST['username'] wujud Jika wujud, tetapkan nilainya kepada pembolehubah $username, jika tidak pembolehubah akan dimulakan kepada kosong.
2. Matikan gesaan ralat
Dalam persekitaran pengeluaran, mematikan gesaan ralat mungkin merupakan pilihan yang lebih baik Ini boleh mengelakkan kebocoran maklumat ralat kepada pengguna dan juga meningkatkan keselamatan permohonan seks. Sudah tentu, semasa proses pembangunan, mematikan gesaan ralat mungkin menyebabkan beberapa ralat tidak ditemui dan diselesaikan dalam masa, jadi anda harus memberi perhatian untuk menghidupkan gesaan ralat tepat pada masanya. Kaedah untuk mematikan gesaan ralat adalah seperti berikut:
<?php error_reporting(0); ?>
Kod di atas akan mematikan gesaan ralat PHP. Sudah tentu, anda juga boleh melaraskan tahap laporan ralat mengikut keperluan, contohnya, tetapkannya kepada:
<?php error_reporting(E_ALL ^ E_NOTICE); ?>
Kod di atas bermaksud menetapkan tahap laporan ralat kepada semua mesej ralat kecuali tahap Notis .
3. Pengendalian mesej ralat
Apabila mesej ralat pembolehubah tidak ditentukan berlaku, kita harus menganggapnya sebagai amaran dan bukannya ralat yang membawa maut. Anda boleh menggunakan kaedah berikut untuk mengendalikan mesej ralat pembolehubah tidak ditentukan:
1 Gunakan simbol @
Gunakan simbol @ untuk menyekat mesej ralat, contohnya:
<?php @$username = $_POST['username']; if ($username == 'admin'){ //do something } ?>
<?php if (isset($_POST['username'])){ $username = $_POST['username']; } if ($username == 'admin'){ //do something } ?>
Atas ialah kandungan terperinci Notis PHP: Pembolehubah tidak ditentukan: _POST penyelesaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!