php中的$_GET怎样获取带有井号“#”的參数

<?php
echo $_GET['key'];
?>

当url为http://test.com/c.php?key=999时,正常输出:999

当url为http://test.com/c.php?key=9#888时,仅仅能输出:9

而我想要获得的是9#888,那要怎么办呢?仅仅能在把9#888传递给key的这个环节想办法。

<input placeholder="输入SN码" type="text" id="searchs" name="searchs" />
<a class='btn' onclick="searchsn();" href="javascript:;">查询</a>
<script>
    function searchsn() {
        var keys = $('#searchs').val();
        if (keys == '') {
            alert('请填写SN码');
            return false;
        }
        keys = escape(keys); //对字符串进行编码,* @ - _ + . / 这几个字符除外
        window.location.href = 'c.php?key=' + keys;
    }
</script>


假设是通过php的header()跳转传递带“#”的參数的话:

a.php

<?php
$query = http_build_query(array('key'=>'66#77'));
// var_dump($query);  //string 'key=66%2377' (length=11)
header("location:http://test.com/b.php?$query");
?>
b.php

<?php
var_dump($_GET['key']);  //string '66#77' (length=5)
?>


posted @ 2015-05-17 12:31  mengfanrong  阅读(1164)  评论(0编辑  收藏  举报