Попробуйте location.hash.substring(1)
вместо:
echo '<script type="text/javascript">
var fragment = location.hash.substring(1);</script>';
Обратите внимание, что этот код PHP отображает только код HTML и JavaScript, чтобы получить значение этого фрагмента. Сам PHP не может получить эту часть URI, поскольку он не является частью запрошенного URI, а доступен только локально.