如何在php中获取哈希变量。
我有一个页面上的变量如下:
catalog.php#album=2song=1
如何获取专辑和歌曲的值并将它们放入PHP变量中?
如何在php中获取哈希变量。
我有一个页面上的变量如下:
catalog.php#album=2song=1
由于PHP是在服务器端处理的,而URL中的哈希值仅在客户端中存在且从不发送到服务器,因此您无法使用PHP获取此值。但是,JavaScript可以使用window.location.hash
获取哈希值(并可选择调用包含此信息的PHP脚本,或将数据添加到DOM中)。
在@Alec的回答上补充一点。
有一个parse_url()
函数:
它可以返回fragment - #后面的部分
。但是,在你的情况下,它将返回hashmark之后的所有值:
Array
(
[path] => catalog.php
[fragment] => album=2song=1
)
function getContentByHashName(hash) { // "main"
// some very simplified AJAX (in this example with jQuery)
$.ajax({
url: '/ajax/get_content.php?content='+hash, // "main"
success: function(content){
$('div#container').html(content); // will put "Welcome to our Main Page" into the <div> with id="container"
}
});
}
var hash=parent.location.hash; // #main
hash=hash.substring(1,hash.length); // take out the #
getContentByHashName(hash);
PHP 可能会有类似以下的内容:
<?php
// very unsafe and silly code
$content_hash_name = $_GET['content'];
if($content_hash_name == 'main'):
echo "Welcome to our Main Page";
endif;
?>