Sie können dies erreichen, indem Sie ein Argument von der URL übergeben. Der Wert des Arguments ist null, wenn sie direkt auf die Seite zugreifen und nur einen Wert haben, wenn sie die spezifische URL verwenden. Dann kann Ihr PHP einfach das Argument überprüfen und entsprechend behandeln.
Beispiel wie folgt.
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>
Dann können Sie die Argumente in Ihrer PHP-Seite behandeln die 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>
Beachten Sie enthalten aber, dass dies nur die div versteckt, es besteht nach wie vor auf der Seite. Wenn Sie möchten, dass es vollständig verschwunden ist, können Sie anstatt JavaScript zur Änderung der Sichtbarkeit den Code verwenden, aus dem das div besteht, wenn die Anforderungen erfüllt sind.
<!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>
Ist der Link zu Ihrer Artikel.php Seite intern oder extern? Wenn es intern ist, haben Sie die Kontrolle über den Link und fügen Parameter hinzu, so dass Sie $ _GET verwenden können. Aber wenn Sie herausfinden möchten, ob der Benutzer von einem Link einer externen Site kommt, den Sie nicht kontrollieren, ist das eine andere Antwort. –