php中的Isset函数通知
下面的代码抛出一个通知 (!)注意:未定义索引:第55行C:\xampp\htdocs\WilliesFishing\admin\product\index.php中的product_id 我检查了,我在php中的Isset函数通知,php,isset,Php,Isset,下面的代码抛出一个通知 (!)注意:未定义索引:第55行C:\xampp\htdocs\WilliesFishing\admin\product\index.php中的product_id 我检查了,我在第55行,但它不喜欢isset() 我还尝试了if(isset($\u GET['product\u id']);,它抛出了相同的错误。这不应该奏效吗 case 'show_add_edit_form': if (isset($product_id)) { $produc
第55行
,但它不喜欢isset()
我还尝试了if(isset($\u GET['product\u id']);
,它抛出了相同的错误。这不应该奏效吗
case 'show_add_edit_form':
if (isset($product_id)) {
$product_id = $_GET['product_id'];
} else {
$product_id = $_POST['product_id']; // --> Line #55
}
$\u GET
或$\u POST
都没有名为product\u id
的索引。您的isset
行仅检查是否设置了全局变量$product\u id
,这可能并不意味着与$\u GET
和/或$\u POST
的状态有关。您可能希望这样做tead:
if (isset($_GET['product_id')) {
$product_id = $_GET['product_id'];
} else if (isset($_POST['product_id')) {
$product_id = $_POST['product_id'];
} else {
// provide a reasonable default, or otherwise handle the edge-case, in here
}
您应该在get参数上使用isset。类似如下:
if (isset($_GET['product_id'])) {
$product_id = $_GET['product_id'];
}
else if (isset($_POST['product_id'])) {
$product_id = $_POST['product_id'];
}
错误告诉您这一点,因为$\u GET['product\u id']没有值。因此,不要使用$product\u id。请在条件中使用请求参数,而不要使用请提供引发通知的确切行。如果使用isset($product\u id),如果我们没有在isset()之前初始化一个有效值,我用导致ITIT的行更正了上面的代码,请注意在使用try@isset($product_id)之前先初始化valible@刘庆虎建议有人在他们的代码中引入错误抑制是一个糟糕的建议。@vascowhite使用错误抑制是一个简单而粗糙的方法。@user3562189会更好。出于某种原因,他们仍然发出同样的通知。再试一次-在我的第二篇
$\u POST
中缺少一个,我不小心键入了$POST
(如果你在中检查的内容与你读到的内容不同,那么你在中检查的内容也会与你读到的内容不同)。太棒了,我本应该抓住它的。我想我不明白为什么isset在这种情况下不起作用,因为你没有检查$\u POST['product\u id']
是在尝试读取之前设置的。您的代码检查的唯一内容是$product\u id
,因此当您阅读$\u POST['product\u id']
时,您是从一个不存在的索引中读取的。