Как я могу передать правильные переменные в URL в PHP для моей подкачки? - PullRequest
1 голос
/ 30 июля 2009

Я работаю над подкачкой в ​​PHP

  • Мне нужно, чтобы он работал на любой папке, поэтому root / root / folder1 / root / folder1 / folder2 / будет работать
  • Должен пройти номер страницы переменная для скрипта для работы в URL, но также сохранить любой другой переменные в URL, которые могут быть присутствует с любым количеством переменных передано в URL

Вот то, что у меня пока есть для ссылки, основанной на том, что @

http://domain.com/test/paging/index.php?var=cool&var2=coo2l&page=1


$selfurl = "http://".$_SERVER['SERVER_NAME'].dirname($_SERVER['PHP_SELF'])."";

Это создаст это: http://domain.com/test/paging/


$qry_str = $_SERVER['argv'][0];

Это создаст следующее: var = cool & var2 = coo2l & page = 1


Пока все хорошо, это работает независимо от того, насколько глубока система каталогов и передает ЛЮБЫЕ и ВСЕ переменные, которые могут существовать в URL страниц. (ПРИМЕЧАНИЕ; я знаю, что предполагается, что это всегда индексный файл, который я исправлю позже)

Таким образом, все эти ссылки, приведенные ниже, будут передаваться по моим ссылкам на страницы;

http://domain.com/test/paging/?page=1
http://domain.com/test/paging/?var=coo2l&page=1 http://domain.com/test/paging/?var=cool&var2=coo2l&page=1

Вот проблема, ниже
пример моей СЛЕДУЮЩЕЙ и ПРЕДЫДУЩЕЙ ссылки, она работает
но проблема в том, что я иду на
на первой странице будет добавлено

& page = THE-NUMBER-HERE поэтому, когда вы перейдете на страницу 3, это

будет похоже на

& page = НОМЕР-ЗДЕСЬ & page = НОМЕР-ЗДЕСЬ & page = НОМЕР-ЗДЕСЬ

вместо

& страница = THE-NUMBER-ЗДЕСЬ

Ссылки;

<a href="<?PHP echo $selfurl;?>/?<?PHP echo $qry_str;?>&page=<?PHP echo $start-$pagesize;?>" class="bluelinkbold">Next</a>

<a href="<?PHP echo $selfurl;?>/?<?PHP echo $qry_str;?>&page=<?PHP echo $start-$pagesize;?>" class="bluelinkbold" >Previous</a>  



Как правильно разрешить этот путь?


Ответы [ 2 ]

2 голосов
/ 30 июля 2009

все просто:

  1. не используйте $ _SERVER ['argv'] [0], создавайте URL самостоятельно при каждом запросе.
  2. используйте preg_replace для удаления существующей переменной страницы из $ _SERVER ['argv'] [0], а затем добавьте новую:

    $ url_without_page_var = preg_replace ( '/ страница = (\ d +) / I', '', $ _ SERVER [ 'ARGV'] [0]);

1 голос
/ 30 мая 2012

У меня была похожая проблема при передаче номера страницы после переменной id.
mysite.php? id = 16 & page = 1 & page = 2 & page = 1 и так далее ... Вдохновленный Сергеем, я удаляю существующие переменные, используя PHP_SELF, затем перезагружаю свой идентификатор и одновременно получаю новую страницу.

href="' . $_SERVER['PHP_SELF'] .'?id='. $row['id'] . '&page=' . $pages->next . '">Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...