2010-09-23 46 views
4

我想通過這個參數topic到另一頁,php獲取函數的問題?

p.s.該頁面使用jquery加載?

的網址:

http://localhost/final/home.php#page2?topic=jquery 
現在

,我想回顯#2頁

<h3 class="timeline"><?php echo $_GET["topic"]; ?> </h3> 

但它deosnt回聲,任何解決方案,遺憾的newbiw問題:)的話題)

load_page.php

<?php 
if(!$_POST['page']) die("0"); 

$page = (int)$_POST['page']; 

if(file_exists('pages/page_'.$page.'.php')) 
include('pages/page_'.$page.'.php'); // i.e page_2.php 

else echo 'There is no such page!'; 
?> 

回答

7

你的URL必須是這樣的:任何後

http://localhost/final/home.php?topic=jquery#page2 

哈希(#)不是由瀏覽器發送的,這純粹是的瀏覽器,例如滾動到正確的位置,一個辦法做到AJAX歷史,等等...但它不是在請求中發送,目前所有的服務器得到的是:

http://localhost/final/home.php 

這就解釋了爲什麼_GET["topic"]是空的。

+0

感謝您的回答,但主題參數沒有呼應頁面上,頁面加載好的,但 – pingpong 2010-09-23 11:04:17

+0

@pingpong - 你改變,因此訂單後它在'#'之前還沒有迴應? – 2010-09-23 11:05:15

+0

@nick yeh我已經改變了順序,頁面加載沒問題,希望回聲得到部分? – pingpong 2010-09-23 11:07:54

0

實際效果,URL結束於#。其他任何東西都不會發送到服務器。

你可能想這樣的:

http://localhost/final/home.php?topic=jquery#page2 
0

只要使用PHP的parse_url功能,做這樣的事情:

$url = 'http://username:[email protected]/path?arg=value#anchor'; 
//Replace the URL in your case with "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"] 

print_r(parse_url($url)); 

echo parse_url($url, PHP_URL_PATH) 

哪樣退貨:

Array 
(
    [scheme] => http 
    [host] => hostname 
    [user] => username 
    [pass] => password 
    [path] => /path 
    [query] => arg=value 
    [fragment] => anchor 
) 
/path 

在你的情況下,它會更喜歡:

Array 
(
    [scheme] => http 
    [host] => localhost 
    [path] => /final/home.php 
    [query] => topic=jquery 
    [fragment] => page2 
)