Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Как коректно на php вытянуть значение текущей стан


Автор: vovarich 23.11.2014, 00:24
Доброго времени суток. Помогите, пожалуйста, решить такую проблему.
Задача: определить текущий url с помощью php, но обязательно с якорем типа: http://site.ru/page.php#link/
С помощью $_SERVER['REQUEST_URI'] отображается только kod.php, а мне очень важно получить в переменную значение якоря #link 

Автор: vovarich 23.11.2014, 10:11
Есть у кого идеи?

Автор: sQu1rr 23.11.2014, 15:28
вы бы хотя бы гуглили перед тем как вопрос задавать. Вкратце:
1. невозможно, так как часть якоря не передается серверу
2. возможно, если передавать данные серверу ПОСЛЕ загрузки страницы с помощью javascript

Автор: vovarich 23.11.2014, 22:08
Цитата(sQu1rr @ 23.11.2014,  15:28)
вы бы хотя бы гуглили перед тем как вопрос задавать. Вкратце:
1. невозможно, так как часть якоря не передается серверу
2. возможно, если передавать данные серверу ПОСЛЕ загрузки страницы с помощью javascript

Я гуглил. Нашел вот такой неплохой вариант передачи значений расрешения экрана, но он почему- то не срабатывает:

Код

<script language="javascript"><!--
query='width=' + screen.width + '&height=' + screen.height;
//--></script>

<script language="JavaScript"><!--
document.write('<img src="script.php?' + query +
' " '+'border="0" width="1" height="1" />');
//--></script>


Браузер обратится к серверу за картинкой по указанному адресу и, в результате, сделает GET-запрос к script.php с нужными нам параметрами. Теперь мы можем обработать полученные переменные в нашем script.php:
Код

<?php

/
if (isset($_GET['width']) AND isset($_GET['height'])) {$wi= $_GET['width']; $result = mysql_query("INSERT INTO  fromm (root)  VALUES ('$wi')");
        // Здесь пишем код, который выполнится, если переменные существут
        
}

?>


Но почему- то в итоге получается, что переменной $_GET['width'] не существует, так как в таблицу не вставляется значение.

Автор: baldina 23.11.2014, 22:52
vovarich, а как связаны
Цитата(vovarich @  23.11.2014,  22:08 Найти цитируемый пост)
расрешения экрана

и якоря?

Автор: vovarich 24.11.2014, 00:03
Цитата(baldina @ 23.11.2014,  22:52)
vovarich, а как связаны
Цитата(vovarich @  23.11.2014,  22:08 Найти цитируемый пост)
расрешения экрана

и якоря?

Да разници нет, а смысл один и тот же. Принцип тотже сохраняется

Автор: sQu1rr 24.11.2014, 12:16
Эх. Вот смотрите
Якорь можно получить так
Код

var anchor = window.location.hash.length ? window.location.hash.substr(1) : '';

http://www.w3schools.com/jsref/prop_loc_hash.asp

Отправить на сервер можно с помощью jquery например
Код

$.get('script.php', { anchor: anchor });

http://api.jquery.com/jQuery.get/

Но учтите, что если скажем у вас этот код в index.php, а код обработки якоря в script.php, то
1. сначало вызовется index.php и отрендерит страницу
2. пользователь ее загрузит
3. когда загрузка завершится, отправится новый запрос на script.php с якорем

Короче нельзя обработать якорь ДО вызова index.php или внутри него.
Поэтому скажите лучше для чего вам это, тогда больше шансом что вам дадут годный совет

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)