【问题标题】:disable <li> tag with session使用会话禁用 <li> 标记
【发布时间】:2014-03-19 10:49:59
【问题描述】:

我有下拉菜单和我的网站允许所有人进入

但我不知道如何在未授权用户进入网站时禁用它

我知道禁用特定用户的按钮,例如:

<input type="submit" value="Click Here" <?php if($this_user != 6 and $this_user != 1) { ?> disabled="disabled" <?php } ?>>

我想在这个标签里做

<li><a href="newsubject">New Projects</a></li>

我在同一页面中的会话代码是:

<?php 
session_start();
if($_SESSION['valid_user'])
{
?>

和html页面的结尾一样

<?php
}
else
{
echo  "<meta http-equiv='refresh' content='0; url=index.php'>";
}
?>

谢谢你的帮助...

【问题讨论】:

  • 我认为您需要在 if(isset($_SESSION['valid_user']) 代码中使用 isset() 函数来获取要返回的真/假和正确的逻辑工作。
  • 你应该使用权限管理器之类的东西,定义用户级别
  • @Newbi3 你说像 if($_SESSION['valid_user']) { $this_user = $_SESSION['valid_user'];
  • 查看@Ravi 的代码。在 if 语句中的示例中,它需要一个布尔值,所以是真/假。 if($_SESSION['valid_user']) 不返回布尔值,它可能会返回一个字符串或 null 这会破坏你的代码
  • Null 或空字符串在 if 语句中被视为 false。

标签: php disable-link


【解决方案1】:

我认为您不能禁用锚元素 (&lt;a .... &gt;)。如果应该禁用锚元素,则改为剥离锚元素的链接。像这样:

<?php
if($this_user == 6 and $this_user == 1) {
?>
<li><a href="newsubject">New Projects</a></li>
<?
} else {
?>
<li>New Projects</li>
<?
}
?>

【讨论】:

  • 感谢您尝试帮助我...但该链接仍然对所有用户启用。我无法理解你的答案。请完成它
【解决方案2】:

您需要更改链接标签的 href 属性。

使用下面的代码禁用标签是无效的。这将显示链接,但如果不是有效用户,用户将无法点击...

<?php
    $href="#";
    if(isset($_SESSION['valid_user'])){
    $href="newsubject";
    }
?>

    <li><a href="<?php echo $href ?>">New Projects</a></li>

【讨论】:

  • 感谢您尝试帮助我...但该链接仍然对所有用户启用
  • 如果不是有效用户,是否要隐藏此链接?
  • 我的数据库中有用户表,我使用 id-如果用户的 id =1,2,3 好的,他可以打开链接,但用户 id 是 4,5 不,他不能打开此链接
  • 您在哪个变量中检查 user_id?
  • $valid_user
猜你喜欢
  • 1970-01-01
  • 2018-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-02
  • 2017-08-08
  • 1970-01-01
相关资源
最近更新 更多