隐藏 Div 那些直接访问该页面但不使用 php 从确切域引用的人
Hide Div From those who visit directly to the page but don't who refer from a exact domain using php
我想向直接用户隐藏 div,但向来自 example.com
的用户显示相同的 div
例如。
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 来做到这一点?
您可以通过传递来自 URL 的参数来实现此目的。如果他们直接访问页面,参数的值将为 null,并且只有在他们使用特定的 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>
然后您可以在包含 div
的 PHP 页面中处理参数
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 将不会显示。
您好,您可以像这样使用以下代码。
<?php if (isset($_SERVER['HTTP_REFERER'])){ ?>
<div style="width:200px;height:200px;border:1px solid black">
<?php } ?>
我想向直接用户隐藏 div,但向来自 example.com
的用户显示相同的 div例如。 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 来做到这一点?
您可以通过传递来自 URL 的参数来实现此目的。如果他们直接访问页面,参数的值将为 null,并且只有在他们使用特定的 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>
然后您可以在包含 div
的 PHP 页面中处理参数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 将不会显示。
您好,您可以像这样使用以下代码。
<?php if (isset($_SERVER['HTTP_REFERER'])){ ?>
<div style="width:200px;height:200px;border:1px solid black">
<?php } ?>