Как получить переменную хеша в php.Php для получения значения хеша из URL
У меня есть переменный на странице, как этот
catalog.php#album=2song=1
Как я могу получить значение альбома и песни и поместить их в PHP переменных?
Как получить переменную хеша в php.Php для получения значения хеша из URL
У меня есть переменный на странице, как этот
catalog.php#album=2song=1
Как я могу получить значение альбома и песни и поместить их в PHP переменных?
Просто добавив ответ @ Alec.
Существует parse_url()
функция:
который может вернуть fragment - after the hashmark #
. Тем не менее, в вашем случае это будет возвращать все значения после особых отметок:
Array
(
[path] => catalog.php
[fragment] => album=2song=1
)
Как @NullUserException отметил, если у вас есть URL, заранее это действительно не имеет смысл. Но, тем не менее, я чувствую себя хорошо.
Если у вас есть URL-адрес заранее, это бесполезно. – NullUserException
Действительно. Позвольте мне изменить это и на мой ответ. –
Спасибо. Похоже, я мог бы проработать эту идею в том, что мне нужно. – Andelas
Вы не можете получить это значение с помощью PHP, потому что PHP обрабатывает серверы на стороне сервера, а хэш в URL-адресе только на стороне клиента и никогда не отправляется на сервер. JavaScript может получить хэш, используя window.location.hash
(и необязательно вызвать скрипт PHP, содержащий эту информацию, или добавить данные в DOM).
Для этого вы можете использовать AJAX/PHP. Вы можете получить хэш с javaScript и загрузить некоторое содержимое с помощью PHP. Давайте предположим, что мы загружаем основное содержание страницы, так что наш URL с хэша «http://www.example.com/#main»:
JavaScript в нашей голове:
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
// very unsafe and silly code
$content_hash_name = $_GET['content'];
if($content_hash_name == 'main'):
echo "Welcome to our Main Page";
endif;
?>
Возможный дубликат [Может ли PHP читать хэш-часть URL?] (Http://stackoverflow.com/questions/940905/can-php-read-the-hash-portion-of-the-url) –