Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как коректно на php вытянуть значение текущей станици с якорем типа http://site.ru/page.php#link
Форумы портала PHP.SU » » HTTP и PHP » Как коректно на php вытянуть значение текущей станици с якорем типа http://site.ru/page.php#link

Страниц (1): [1]
 

1. vovarich - 22 Ноября, 2014 - 23:29:40 - перейти к сообщению
Доброго времени суток. Помогите, пожалуйста, решить такую проблему.
Задача: определить текущий url с помощью php, но обязательно с якорем типа: http://site[dot]ru/page.php#link/
С помощью $_SERVER['REQUEST_URI'] отображается только kod.php, а мне очень важно получить в переменную значение якоря #link
2. Bio man - 22 Ноября, 2014 - 23:36:40 - перейти к сообщению
На чистом ПХП это невозможно
3. vovarich - 22 Ноября, 2014 - 23:38:57 - перейти к сообщению
Bio man пишет:
На чистом ПХП это невозможно

Пробовал так:
$str="<br><script type='text/javascript'>
<!--
document.write(location.href);
// -->
</script>";

echo $str;
Все работает, на экран выводится ссылка вместе с якорем, но я эту строку дальше по непонятной для меня причине не могу обработать с помощью php функций, таких как
strpos
4. Bio man - 22 Ноября, 2014 - 23:45:30 - перейти к сообщению
Оно и понятно. Скрипт вывел кусок JS и закончил работу. А JS уже вывел ссылку из адресной строки. И PHP никак (вру) не может получить эту ссылку, так как она сформирована уже после выполнения скрипта.
Другое дело, если эту ссылку послать из JS на сервер, но тут тоже всё зависит от поставленной задачи.

В общет так. При запросе получить хэш невозможно.
После того как запрос выполнен - пожалуйста, можно отослать хэш на сервер средствами JS
5. vovarich - 22 Ноября, 2014 - 23:50:03 - перейти к сообщению
Bio man пишет:
Оно и понятно. Скрипт вывел кусок JS и закончил работу. А JS уже вывел ссылку из адресной строки. И PHP никак (вру) не может получить эту ссылку, так как она сформирована уже после выполнения скрипта.
Другое дело, если эту ссылку послать из JS на сервер, но тут тоже всё зависит от поставленной задачи.

В общет так. При запросе получить хэш невозможно.
После того как запрос выполнен - пожалуйста, можно отослать хэш на сервер средствами JS


А можете, пожалуйста, мне подсказать технически как сделать, чтобы это реализовать.
(Добавление)
есть идеи?
6. Bio man - 23 Ноября, 2014 - 00:08:17 - перейти к сообщению
Скажите в чём заключается суть задачи, а я скажу можно или нет.
Принцип прост - AJAX
7. vovarich - 23 Ноября, 2014 - 00:11:34 - перейти к сообщению
Bio man пишет:
Скажите в чём заключается суть задачи, а я скажу можно или нет.
Принцип прост - AJAX

я по имени якоря получаю информацию, от какого из моих партнеров перешел посетитель на сайт, в якоре указывается имя партнера и еще некоторая информация, которую мне будет необходимо обрабатывать с помощью PHP
8. Bio man - 23 Ноября, 2014 - 00:43:27 - перейти к сообщению
Через ajax можно реализовать. А лучше через get параметры, если проект еще в стадии разработки
9. vovarich - 23 Ноября, 2014 - 09:00:34 - перейти к сообщению
Bio man пишет:
Через ajax можно реализовать. А лучше через get параметры, если проект еще в стадии разработки


Через get в поисковики попадет множество страниц с одинаковым содержимым.
А как на ajax реализовать подскажите?
10. Bio man - 23 Ноября, 2014 - 11:41:08 - перейти к сообщению
Гуглите. Инфа не секретная.
Первое что нужно погуглить - канонические ссылки
Второе - ajax
11. vovarich - 23 Ноября, 2014 - 21:15:42 - перейти к сообщению
Bio man пишет:
Гуглите. Инфа не секретная.
Первое что нужно погуглить - канонические ссылки
Второе - ajax


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

<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'] не существует, так как в таблицу не вставляется значение.
12. Bio man - 23 Ноября, 2014 - 22:27:43 - перейти к сообщению
13. vovarich - 23 Ноября, 2014 - 23:09:26 - перейти к сообщению
Bio man пишет:
http://forum.php.su/topic.php?fo...=62&topic=78
(Добавление)
http://phpfaq.ru/debug

а конкретнее
14. Bio man - 24 Ноября, 2014 - 00:27:54 - перейти к сообщению
Вы пришли сюда учится или уже за готовым отлаженым кодом? Если первое, то прочитайте статьи, если второе, добро пожаловать в отдел фриланса. Вам в голову знания никто не положет кроме вас самих.

 

Powered by ExBB FM 1.0 RC1