php get函数的问题?

时间:2010-09-23 10:58:21

标签: php jquery get

我想将此参数topic传递给另一个页面,

P.S。页面是使用jquery加载的吗?

网址:

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

现在,我想回应#page2上的主题

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

但它的回声,任何解决方案,对新生儿的问题感到抱歉:))

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!';
?>

4 个答案:

答案 0 :(得分:7)

您的网址必须如下:

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

浏览器未发送散列(#)之后的任何内容,它纯粹是用于浏览器,例如滚动到正确的位置,一种做AJAX历史记录的方式等等......但是它没有在请求中发送,目前您的所有服务器都是:

http://localhost/final/home.php

这解释了为什么_GET["topic"]为空。

答案 1 :(得分:1)

从dataType中删除php,并阅读此read this about datatypes for ajax requests

答案 2 :(得分:0)

为实际效果,网址以#结尾。其他任何东西都没有送到他的服务器。

你可能想要这个:

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

答案 3 :(得分:0)

只需使用PHP的parse_url函数执行以下操作:

$url = 'http://username:password@hostname/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
)