我有一个页面,其中包含登录用户的菜单。
我将该页面包含在站点的所有其他页面中,但我不希望未登录的用户能够点击链接。
如果PHP变量= 'no'
,如何禁用该页面上的所有链接?
我知道可以使用以下代码:
if($php_var == 'no') {
//do something here
}
但我不确定如何禁用链接?
是否有使用CSS或Javascript禁用链接的方法?
我有一个页面,其中包含登录用户的菜单。
我将该页面包含在站点的所有其他页面中,但我不希望未登录的用户能够点击链接。
如果PHP变量= 'no'
,如何禁用该页面上的所有链接?
我知道可以使用以下代码:
if($php_var == 'no') {
//do something here
}
但我不确定如何禁用链接?
是否有使用CSS或Javascript禁用链接的方法?
试一下
if($php_var == "no")
{
echo '<a href="javascript:void(0);">Your Text For Link</a>';
}
else
{
echo '<a href="your link">Your Text For Link</a>';
}
用户可以使用 javascript:void(0);
,无需进行重定向。这将保持您的链接样式与其他链接一致,但当您单击它时,不会重定向到其他页面。
这将从所有a标签中移除href。如果php变量是no,则在所有a标签后放置此代码,否则不起作用。
<?php
if($php_var === "no"){
echo '<script>var x=document.getElementsByTagName("a");for (i=0;i<x.length;i++){x[i].removeAttribute("href");}</script>';
}
?>
if($php_var === "no") {
echo "This is the text of your link.";
} else
{
echo "<a href="your.link">This is the text of your link.</a>";
}
但是正如已经提到的,完全隐藏链接更好,因为通常用户会被这些东西弄糊涂。
echo '<a href="' . ($php_var == 'no' ? '#' : 'actual_link.html') . '">Link</a>';
<a href='<?php echo ($php_var == "no") ? "javascript:void(0)" : "link.php" ?>'>
Hello user
</a>
// define if you want to make links work
$linking = true;
然后是你的链接:
<a <?php if($linking == true) { ?> href="..." <?php } ?>>Link</a>
.link_that_is_no_link {
text-decoration: none;
cursor: default
}
如何检查用户是否已登录?您使用会话吗?与检查用户是否已登录的方式相同,您可以决定是否显示项目。
您可以两者兼顾:
if(isset($_SESSION['id'])){
echo '<a href="actual_link.html">LINK</a>';
}else{
echo '<a href="#">LINK</a>';
}
如果用户未登录,则该链接将一直显示但不会导向任何地方。 或者你可以这样做: if(isset($_SESSION['id'])){ echo '链接'; }else{ //在此处不执行任何操作或者放置一个指向登录页面的链接 } 只有在登录后才会显示该链接,我更喜欢第二个选项,因为我认为没有用户会喜欢看到无法打开的链接。 请注意,本答案中的代码只是您实际代码的猜测
您可以使用 PHP 的 if-else
条件语句,编写如下 HTML 代码:
<a href="" onclick="return false;">