У меня нет сейчас пхп под рукой, и не могу потестить, но попробуйте сами :
Принцип :
т.к. хеш не передаётся пхп ни в каком виде, поэтому городим костыль, превращая хеш в параметр (у Вас так же),
и передаём параметры быстро и решительно с помощью GET запроса
FOO.PHP:
<?php
if (isset($_GET["hash"])):
echo $_GET['hash'];
else:
?>
<script>
// location.href -> "http://mysite.ru/foo.php?bar=ok#myHash"
// или
// "http://mysite.ru/foo.php/#myHash"
// "#myHash"
var hash = location.hash;
if (hash) {
// "/foo.php"
var pathname = location.pathname;
// "?bar=ok"
var search = location.search;
// "/foo.php?bar=ok&hash=myHash"
var res = pathname + search + ("&?".charAt(search.indexOf("?")==-1)) + "hash=" + hash.slice(1);
// способ - GET.
location.href = res;
} else {
document.write("No hash!");
}
</script>
<?php
endif;
echo "<br><pre>";
print_r($_GET);
echo "</pre>";
?>