1

何千もの ?query が何百もの html ページにリストされています。これらのクエリのいずれかがクリックされ、特定のページに渡されると:-

<?php 
      $obtained= $_GET['query']; 

送信元の URI をトレースしてここに貼り付ける方法は? :-

      file_get_contents(../folder_of_pages_contain_queries/originated_page.html);
?>
4

1 に答える 1

1

2 番目のページで$_SERVER['HTTP_REFERER']を使用して、リクエストの送信元を特定します。

2 ページ目に内容を貼り付けたい場合は、次の方法を試してください。

if (isset ($_SERVER['HTTP_REFERER']) && ! empty ($_SERVER['HTTP_REFERER']))
{
    $contents = file_get_contents ($_SERVER['HTTP_REFERER']);
}

次に例を示します。

file1.html:

Link 1: <a href="test.php?query=link1">link 1</a>
Link 2: <a href="test.php?query=link2">link 2</a>
Link 3: <a href="test.php?query=link3">link 3</a>

file2.html:

Link 1: <a href="test.php?query=link1">link 1</a>
Link 2: <a href="test.php?query=link2">link 2</a>
Link 3: <a href="test.php?query=link3">link 3</a>

test.php:

$query = $_GET['query'];
$referer = $_SERVER['HTTP_REFERER'];

テストケースに応じて:

  1. ユーザーがlink 2からfile1.htmlをクリックすると、 の値は$query「link2」になり、「file1.html」になり$refererます。
  2. ユーザーがlink 3からfile2.htmlをクリックすると、 の値は$query「link3」になり、「file2.html」になり$refererます。
于 2013-08-11T15:05:48.967 に答える