Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Хотел $_SERVER['HTTP_REFERER'] но не то, как лучше сделать
Astin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 26 дней
Карма: 7




Приветствую Форумчане!

Сделал на сайте вывод заявок с пагинацией, соответственно

ссылки вида примерно такие

сайт.ru/demand/all
сайт.ru/demand/all?page=2
сайт.ru/demand/all?page=3

Ссылки на одну заявку вида сайт.ru/order/id-заявки

На каждой странице выводиться по N число заявок. В каждой заявке
присутствует ссылка для просмотра именно этой заявки которую выбрали.

При открытии этой заявки она показывается естественно, но вот ниже
сделал ссылку типа "Назад к списку"
<a href="сайт.ru/demand/all">Назад к списку</a>

Потом подумал, а если человек захочет вернуться именно к списку на
другой странице, к примеру к сайт.ru/demand/all?page=2

Сделал ссылку вида
<a href="'.$_SERVER['HTTP_REFERER'].'">Назад к списку</a>


Теперь опять загвоздка... Если юсер сохранит в закладки заявку, потом откроет
её из закладок ссылка Вернуться к списку будет вида
<a href="сайт.ru/order/id-заявки">Назад к списку</a>

И получается ему придется опять идти на главную чтоб попасть в список заявок.

Решил сделать вот так, поставить условие в выводе одной заявки
<?php
if (isset($_SERVER['HTTP_REFERER']))
{
$server = $_SERVER['HTTP_REFERER'];

} else {

$server = "сайт.ru/demand/all";

}

//////// Код вывода и в нем ссылка вида

<a href=\"".$server."\">Назад к списку</a>

/////



Получается если $_SERVER['HTTP_REFERER'] не передана, то будет ссылка

на самое начало списка заявок.

А вот теперь проблема....

Если к примеру Вася оставит на каком нибудь сайте ссылку на эту заявку,
а после кто то другой перейдет по ней, то в ссылке Назад к списку
будет стоять ссылка того сайта с которого перешли.

Можно ли как то решить этот вопрос или может сделать просто постоянную
ссылку на начало списка.

Это хотел сделать для удобства пользователя, но что то не получается

_


PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 25 дней
Карма: 13




Добавь проверку на урл сайта, если свой. то TRUE, если нет то FALSE
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 26 дней
Карма: 7




Цитата (icedfox @ 26.04.2016 - 17:41)
Добавь проверку на урл сайта, если свой. то TRUE, если нет то FALSE

А можно чуть поподробнее

Или хотяб пример показать как лучше
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
icedfox  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 395
Пользователь №: 41702
На форуме: 1 год, 3 месяца, 25 дней
Карма: 13




вот так примерно
		$trusDomen = 'tutdomen.ru';
$server = '';

if (!empty($_SERVER['HTTP_REFERER'])) {
$server = $_SERVER['HTTP_REFERER'];
}
if (strpos($server, $trusDomen) === false) {
$server = "сайт.ru/demand/all";
}

регулярки не стал специально использовать
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 26 дней
Карма: 7




Цитата (icedfox @ 26.04.2016 - 18:00)
вот так примерно
		$trusDomen = 'tutdomen.ru';
$server = '';

if (!empty($_SERVER['HTTP_REFERER'])) {
$server = $_SERVER['HTTP_REFERER'];
}
if (strpos($server, $trusDomen) === false) {
$server = "сайт.ru/demand/all";
}

регулярки не стал специально использовать

Спасибо, сейчас попробую
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 26 дней
Карма: 7




Вот так вот работает
<?php

if (isset($_SERVER['HTTP_REFERER']))
{
$server = $_SERVER['HTTP_REFERER'];
}
if (strpos($_SERVER['HTTP_REFERER'], "сайт.ru.ru") === false)
{
$server = "сайт.ru/demand/all";
}
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




а так не устраивает?
сайт.ru/order/id/?return=url
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 26 дней
Карма: 7




killer8080
Это я так понимаю что то вроде редиректа да ?

Если да, то зачем его делать если человек лазеет по сайту и заходя на одну заявку
через список хочет вернуться назад к списку. Я просто хотел чтоб было удобнее
юзеру и чтоб при переходе с другого сайта на заявку в урл не вставла ссылка с этого
сайта.

Если неправильно понял вас, то буду рад вашим разьяснением что вы имели в виду под
Цитата
а так не устраивает?
сайт.ru/order/id/?return=url
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




Цитата (Astin @ 26.04.2016 - 22:57)
Это я так понимаю что то вроде редиректа да ?

Нет
я имел ввиду, когда формируешь ссылку в каталоге, добавляй к ней параметром текущий адрес страницы, тогда ссылку "назад" можно будет сформировать из гет параметра
<a href="<?= htmlspecialchars($_GET['return'])?>">back</a>

если юзер эту ссылку где то запостит, то урл страницы каталога в ней сохранится.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 26 дней
Карма: 7




Цитата
Нет
я имел ввиду, когда формируешь ссылку в каталоге, добавляй к ней параметром текущий адрес страницы, тогда ссылку "назад" можно будет сформировать из гет параметра
<a href="<?= htmlspecialchars($_GET['return'])?>">back</a>

если юзер эту ссылку где то запостит, то урл страницы каталога в ней сохранится.


Честно говоря пока не знаю как сделать такое.

Если можно покажите пожалуйста на примере как долно выгляжеть
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
tceburashka.com  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 21
Пользователь №: 42890
На форуме: 7 месяцев, 13 дней
Карма: 2




Что-то не пойму... что ты хочешь? Мне кажется для этого существует меню в котором можно все-что угодно задать? Или заявки открывать в новом окне


--------------------
Парсинг - автоматизация ручной работы. http://tceburashka.com
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Astin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 592
Пользователь №: 42519
На форуме: 9 месяцев, 26 дней
Карма: 7




Цитата
Что-то не пойму... что ты хочешь? Мне кажется для этого существует меню в котором можно все-что угодно задать? Или заявки открывать в новом окне


tceburashka.com
Я же объяснил что есть посраничная навигация и если юзер перешел со списка второго
к просмотру заявки то обратно по ссылке может вернуться именно к выводу
второго списка а не в начало.
Но если в ссылке поставить просто $_SERVER['HTTP_REFERER']
и если перейдут на заявку с другого сайта то в ссылке Назад к списку
будет стоять ссылка не моего сайта а сайта с которого перешли и соответственно
это не только косяк, а это еще и поисковики могут проиндексировать как внешнюю
ссылку и это не есть Хорошо для сайта.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
killer8080  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 8737
Пользователь №: 26630
На форуме: 5 лет, 9 месяцев, 7 дней
Карма: 591




<a href="/order/<?=$row['id']?>/?return=<?=urlencode('//'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'])?>"><?=$row['item']?></a>
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса