Как загрузить контент если перешли по определенному табу (tab)?

124
25 марта 2019, 15:30

Есть страница https://site.com/zapis/ как загрузить определенный контент например: echo 'Yes'; если перешли на #tab3 https://site.com/zapis/#tab3 ??

Answer 1

В ПХП скрипте нет доступа к тексту после #, но он доступен в javascript. Если яваскрипт не подходит то делайте таб3 параметром, например:
https://site.com/zapis/?tab=3 mod_rewrite может переделать ссылку например в https://site.com/zapis/tab3 Если не много вариантов таб то просто прописать в .htaccess

Может быть поможет такая идея: яваскриптом найти этот параметр, аяксом передать скрипту и результат скрипта ваше "Yes" как либо обработать.

Используется jQuery.

находим символы после #:

var hash = window.location.hash.substring(1);

условие напишите сами. если условие выполняется то следующий код обращается к серверу(без перезагрузки страницы, ajax):

Этот код загрузит то что вывел скрипт и присвоит значение блоку на странице:

$.ajax({
  type: "POST",
  url: 'example.com',
  data: "addparamshere=something&tab3=1"
  error: function (data) {
    alert('Не удалось отправить заявку, попробуйте другой способ связи.');
  },
  success: function(data)
  {
    alert("Заявка успешно отправлена"); // show response from the php  script.
    $("#resultPlaceholder").html(data); // Присваиваем результат элементу с ид resultPlaceholder
  }
});
Answer 2

Данный код почему то не работает :/ на странице https://site.com/zapis/ все равно выводится Yes

Yes выводится из за того, что Вы ввели в строку для поиска необходимые символы

$url = 'https://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']. '#tab3';
if (strpos($url,'#tab3') !== false) {
  echo 'Yes';
} else {
  echo 'NO';
}

Более работоспособным данный код будет выглядеть так:

$url = 'https://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
if (strpos($url,'#tab3') === false) {
    echo 'NO';
} else {
    echo 'Yes';
}

Надеюсь, что мой ответ Вам помог.

READ ALSO
вывести значение переменной на экран

вывести значение переменной на экран

Задача: вывести значение переменной на экранКак сделать? Вот что я написал пока

149
Считать строку с латинскими буквами из файла

Считать строку с латинскими буквами из файла

Нужно открыть файл и считать из него только строку с латинскими буквами и вывести ееНе знаю как задать условие, что бы считывалась только...

158
Вывод номера строки

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

Интересует написание функции, которая сможет выводить номер строки, на которой она вызываетсяЭто должно выглядеть как-то так:

179
Дано натуральное n. Определить, является ли это число палиндромом

Дано натуральное n. Определить, является ли это число палиндромом

Вот мой код, но я не знаю, что делать дальше

217