Скрыть Div от тех, кто заходит прямо на страницу, но не ссылается на домен extact с помощью php

Я хочу скрыть div от прямых пользователей, но показываю тот же div тем, кто пришел с example.com

например. example123.com/article.php есть нижний div

<div id="main">Title</div>

(когда пользователь нажимает гиперссылку на example.com

<a href="http://example123.com/article.php">Artile</a>

затем покажите приведенный выше div

но когда пользователь непосредственно заходит на example123.com/article.php, тогда не показывать div.

как я это сделаю используя php..

3 ответа

Решение

Привет, вы можете использовать следующий код, как это.

 <?php if (isset($_SERVER['HTTP_REFERER'])){ ?>
      <div style="width:200px;height:200px;border:1px solid black">
 <?php } ?>

Вы можете достичь этого, передав аргумент из URL. Значение аргумента будет нулевым, если они обращаются к странице напрямую, и имеют значение, только если они используют определенный URL. Тогда ваш PHP может просто проверить аргумент и обработать его соответствующим образом.

Пример следующим образом.

index.php

<!DOCTYPE html>
<html>
<head>
    <title>Nothing</title>
</head>

<body>

<h1>Nothing 01</h1>
<a href="pagewithdiv.php">Regular URL</a>
<br />
<a href="pagewithdiv.php?Condition=true">Argument URL</a>

</body>

</html>

Затем вы можете обрабатывать аргументы на вашей странице PHP, содержащей div

pagewithdiv.php

<!DOCTYPE html>
<html>
<head>
   <title>Nothing</title>
</head>

<body>

<h1>Nothing 02</h1>

<div id="conditional">
   <h2>Conditional Div</h2>
</div>

<?php
if (

   // check if argument exists
   isset($_GET["Condition"])
   &&
   // check if argument value is true
   trim($_GET["Condition"] == true)

) {

   echo '<script>';
   echo 'document.getElementById("conditional").style.display = "block"';
   echo '</script>';

} else {

   echo '<script>';
   echo 'document.getElementById("conditional").style.display = "none"';
   echo '</script>';

}
?>

</body>

</html>

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

<!DOCTYPE html>
<html>
<head>
   <title>Nothing</title>
</head>

<body>

<h1>Nothing 02</h1>

<?php
if (

   // check if argument exists
   isset($_GET["Condition"])
   &&
   // check if argument value is true
   trim($_GET["Condition"] == true)

) {

   echo '<div id="conditional">';
   echo '   <h2>Conditional Div</h2>';
   echo '</div>';


}
?>

</body>

</html>

Вы должны использовать $_SERVER['HTTP_REFERER']

Я не совсем слежу за вашим вопросом, но этого кода должно быть достаточно для вас, чтобы приспособиться к вашим потребностям:

if(strstr($_SERVER['HTTP_REFERER'],'example.com')) {
  echo '<div id="main">Title</div>';
}

Таким образом, если URL-адрес ссылающегося сайта содержит example.com, то отобразите ваш div.

Если реферальный URL не содержал example.com или был пуст (т.е. они пришли непосредственно на ваш сайт), то div не будет отображаться.

Другие вопросы по тегам