@midarovrk

Как исправить скрипт чтобы не обрезал title после # на PHP ucoz?

Привет всем, есть знатоки в юкоз PHP ?

Есть скрипт, который показывает какую страницу пользователь последний раз просматривал.

Сначала происходит гет запрос:

<script type="text/javascript">$.get('/php/user_mn/index.php?n='+document.title);</script>

Содержимое PHP файла:

<?php 
$___notjson = 1;
$id = ucoz_getinfo("SITEUSERID");
$getid = $_REQUEST['i'];
$n = $_REQUEST['n'];
$name = explode('?', $n);
$url = $_SERVER['HTTP_REFERER'];

if(empty($name[0])){
  if(!empty($getid) && file_exists('data/'.$getid.'.dat')){
    header('Content-Type: text/html; charset=utf-8');
    $file = file_get_contents('data/'.$getid.'.dat');
    echo $file;
  }else{
    echo 'Нет данных...';
  }
}else{
  $f = fopen('data/'.$id.'.dat', 'w+');
  fwrite($f, '<a href="'.$url.'" target="_blank">'.$name[0].'</a>');
  fclose($f);
}
?>

Далее выводится информация в этот блок:

<div class="udtb"><div class="udtlb">Последний раз был:</div> <span id="whtl">Загрузка...</span></div>   
<script type="text/javascript">$('#whtl').load('/php/user_mn/index.php?i=$_USER_ID$');</script>

Проблема в том что, если в title есть # то выводится только до этой решётки.
Например title выглядит так Guardians of the Galaxy (Vol. 2): #2 / Стражи Галактики (Том 2): #2
А скрипт выводит так Guardians of the Galaxy (Vol. 2):
Всё что до решётки.

Кто может подсказать почему такое происходит?
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
@hoarywolf
Предполагаю, что encodeURIComponent спасет ситуацию
<script type="text/javascript">$.get('/php/user_mn/index.php?n='+encodeURIComponent(document.title));</script>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы