post redirect get — Hide Div от тех, кто заходит прямо на страницу, но не переходит с внешнего домена с помощью переполнения стека

я хочу скрыть 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 ..

0

Решение

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

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

Другие решения

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

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

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

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

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

0

Вы можете достичь этого, передав аргумент из 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>
0
По вопросам рекламы [email protected]