codeigniter — можем ли мы получить значение хеша на php сервера?

У меня есть URL, как это http://localhost/project/test/value#value2, когда я нажимаю эту ссылку, я хочу получить значение #tag на сервере.
Я пытался так на стороне сервера

    <?php
function test(param){ ?>
<script>
var className = window.location.hash;
alert(className);
</script>
<?php
} ?>

это предупреждение дает мне имя класса, но после загрузки страницы, если я назначаю это значение переменной php, она не работает. Я использую codeigniter, поэтому я попробовал это current_url() функция, а также я пытался $_SERVER['REQUEST_URL'] но это не работает в моем случае

0

Решение

Проблема здесь в том, что браузер не отправлял #tag во время запроса, поэтому у вас его нет на стороне сервера в какой-либо функции get url, единственная опция для вас — это обработать этот #tag на стороне js и загрузить необходимую часть html через ajax

1

Другие решения

Пожалуйста, обратитесь этот

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
0

Использовать parse_url функция.

$url = 'http://localhost/project/test/value#value2';

$tokens = parse_url($url);

print_r($tokens);

/*will output
Array
(
[scheme] => http
[host] => localhost
[path] => /project/test/value
[fragment] => value2
)
*/

fragment бит то, что вы после.

0

Вы не можете получить хеш-тег из URL в php. Потому что браузер не отправляет #tag во время обработки запроса.

0