错误:注意:未定义的索引:fk

时间:2010-10-08 21:49:09

标签: php

有人可以协助我解决我收到的错误。

$search_key = '';
/*if(isset($_POST) && ($_POST["fk"])!=NULL){
    $search_key = $_POST["fk"];
}elseif(isset($_GET) && ($_GET["fk"]!=NULL)){
    $search_key = $_GET["fk"];
}
*/

if(!isset($_POST["fk"])){
    $search_key = $_POST['fk'];
}elseif(isset($_GET["fk"])){
    $search_key = $_GET["fk"];
}

3 个答案:

答案 0 :(得分:3)

你正在测试NOT isset $ _POST [“fk”]

if(isset($_POST["fk"])){ 
    $search_key = $_POST['fk'];

答案 1 :(得分:2)

在下面代码的第一行中有!isset

if(!isset($_POST["fk"])){
    $search_key = $_POST['fk'];
}elseif(isset($_GET["fk"])){
    $search_key = $_GET["fk"];
}

因此,如果未设置$ _POST [“fk”],它将尝试读取它。因此错误消息。只需使用isset代替!isset

只是一点注意事项:如果你想获得$ _POST或$ _GET的值,你可以简单地使用$ _REQUEST ['fk'];因为$ _REQUEST保存从$ _COOKIE,$ _POST和$ _GET合并的值(顺序取决于您的PHP配置)

答案 2 :(得分:1)

如果(array_key_exists( “FK”,$ _ POST)){
    $ search_key = $ _POST ['fk'];
} ELSEIF(array_key_exists( “FK”,$ _ GET)){
    $ search_key = $ _GET [“fk”];
}