2010-09-07 26 views
0

我的理解是_REQUEST由GET,POST和cookie數據組成。我有一個_REQUEST變量,用URL中的GET來填充數據。這是我遇到幾個問題的地方。PHP _REQUEST可變問題(使用smarty模板)

我認爲GET數據是在URL傳送等:

www.example.com/empty?g=o&h=s 

所以URL的請求將具有_ $ REQUEST並[g] = o及_ $ REQUEST並[h] = S。

現在這裏是我的問題。將print_r($ _ REQUEST)放在php腳本的頂部會顯示我不明白的行爲。當腳本像這樣運行時:我訪問www.example.com/script.php,然後在屏幕上打印請求爲空,但是當我訪問www.example.com/script/test1/35 時,則print_r REQUEST揭示了

Array ([cat] => test1 [pid] => 35) 

那麼請求的變量如何知道GET數據在URL中就像這樣?它是如何知道在第二次SLASH和PID在第三次SLASH之後轉向數據之後,CAT將數據轉化爲數據的。

不僅如此,當我製作腳本的副本並給它一個不同的名稱,以便上面的示例變爲:www.dummy.com/script/test1/35時,print_r REQUEST爲空。

重要提示:當我把print_r($ _ REQUEST);作爲php的第一行。我使用smarty php模板。有一個相應的script.tpl與script.php一起使用,但它不包含任何指定GET結構的內容。

所以我很困難。感謝收到的任何想法?一旦我理解了這最後一部分,我就可以完成這個項目。

+0

請把您的.htaccess內容拷貝? – shox 2010-09-07 10:26:14

+0

OMG你解決了它的答案在那裏 – 2010-09-07 10:36:52

+0

有一個'重寫'規則,將www.example.com/script/blah/deblah更改爲?cat = $ blahpid = deblah – 2010-09-07 10:38:05

回答

0

檢查您的.htaccess內容。