2015-09-10 20 views
0

我使用的文件main.php下面的代碼:PHP isset不拾取URL傳遞的參數

if(isset($k)){ 
    $k = $_GET['k']; 
    if ($k =="SEARCH"){ 
     include("searchpage.php"); 
    } 
    } 

按照我的理解這應該:

searchpage = "index.php?k=SEARCH"; 
include($searchpage); 

索引中調用代碼插入我調用的文件searchpage.php的內容

include($searchpage); 

但是它只是再次加載main.php,這意味着k是 沒有設置。如何在調用頁面時將?k = var工作在isset()方法中,並且爲什麼isset將k讀取爲null?

如果你需要更多的代碼的上下文或清晰的問題,請讓我知道謝謝。

回答

0

試試這個,我覺得$ k不設置成PHP不進入 「如果條款」:

if(isset($_GET['k'])){ 
     $k = $_GET['k']; 
     if ($k == "SEARCH"){ 
      include("searchpage.php"); 
     } 
    } 
+0

哇該固定它除了,這本來是用於分配骨架代碼。在另一端是否有可以修正這個或者是給定代碼(改變了什麼)的固有錯誤? – user3475821

0

main.php

$k="search"; 
include "index.php"; 

的index.php

if ($k=="search") { 
    include "searchpage.php"; 
} 

對不起,我可能會丟失你的觀點,但是從你的代碼的邏輯,這是簡單,工作正常。

0

如果你想通過你必須從只地址欄中的URL即傳遞參數,則不能使用此$searchpage = "index.php?k=SEARCH";

所以傳遞參數的地址欄,然後包括你的index.php這樣

$searchpage = "index.php"; 

那麼你的代碼西港島線做工精細

希望這會幫助你。

+0

行 「$主頁=」 的index.php K =? 「; $ searchpage = 」的index.php K = SEARCH?「;」是我得到和必須使用的骨架代碼的一部分。如果我不能使用代碼,並且無法在本網站的任何地方找到如何使用地址來傳遞參數,那麼我就迷路了。 – user3475821

+1

哪兩條線? 我想說的是,如果你的當前頁面的URL是'www.somedomain.com'與'www.somedomain.com改變呢?K = SEARCH' 它肯定會正常工作 如果您還有什麼問題,只是在這裏留言 –

+0

對不起,我剛剛發現我不能在評論中開始一個新行,我編輯了我的評論以獲得更多的清晰度。 – user3475821