2010-10-08 3 views
0

quelqu'un peut-il m'aider à corriger l'erreur que je reçois.erreur: Avis: Index indéfini: fk

$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"]; 
} 

Répondre

2

Vous avez un !isset dans la première ligne du code ci-dessous

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

Donc, si $ _POST [ "fk"] n'est pas réglé, il va essayer de le lire. D'où le message d'erreur. Il suffit d'utiliser isset au lieu de !isset. Juste un petit mot: si vous voulez avoir la valeur de $ _POST ou $ _GET, vous pouvez simplement utiliser $ _REQUEST ['fk']; comme $ _REQUEST contient les valeurs fusionnées de $ _COOKIE, $ _POST et $ _GET (l'ordre dépend de votre configuration PHP)

+1

Je préfère éviter $ _REQUEST car il contient également des cookies, mais dans ce cas, il semble que ce soit le bon type de cas d'utilisation pour le justifier. – Spudley

3

Vous testez pour pas isset $ _POST [ "fk"]

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

if (array_key_exists ("fk", $ _ POST)) {
$ clé_recherche = $ _POST [ » fk '];
} elseif (array_key_exists ("fk", $ _ GET)) {
$ search_key = $ _GET ["fk"];
}

Questions connexes