CodeIgniter中的If语句和管理员特权

时间:2018-12-22 22:46:55

标签: codeigniter privileges

我正在CodeIgniter中构建用户帐户系统,使用会话数据来锁定或解锁链接时遇到了很大的麻烦。以下代码基于堆栈溢出(Controlling User Privileges in Codeigniter)的建议:

<template>
  <div>
    <p
      v-for="(value, index) in content"
      :id="`content-${index}`"
      :key="index"
      contenteditable
      @input="event => onInput(event, index)"
      @keyup.delete="onRemove(index)"
    />
  </div>
</template>

<script>
export default {
  data() {
    return {
      content: [
        { value: 'paragraph 1' },
        { value: 'paragraph 2' },
        { value: 'paragraph 3' },
      ],
    };
  },
  mounted() {
    this.updateAllContent();
  },
  methods: {
    onInput(event, index) {
      const value = event.target.innerText;
      this.content[index].value = value;
    },
    onRemove(index) {
      if (this.content.length > 1 && this.content[index].value.length === 0) {
        this.$delete(this.content, index);
        this.updateAllContent();
      }
    },
    updateAllContent() {
      this.content.forEach((c, index) => {
        const el = document.getElementById(`content-${index}`);
        el.innerText = c.value;
      });
    },
  },
};
</script>

“撰写”和“注销”链接有效,但“用户列表”链接无效。无论哪个用户登录,它都无法显示。我已经验证了会话cookie包含正确的用户类。

我想这是一个语法问题,但是在这种情况下,Codeigniter手册没有有关IF语句的信息。堆栈溢出的特定代码解释如下:

<div id="navbar">
          <ul class="nav navbar-nav">
            <li><a href="<?php echo base_url(); ?>">Home</a></li>
            <li><a href="<?php echo base_url(); ?>about">About</a></li>
            <li><a href="<?php echo base_url(); ?>Bodycontroller">Chapters</a></li>
          </ul>
          <ul class="nav navbar-nav navbar-right">
            <?php if(!$this->session->userdata('logged_in')) : ?>
            <li><a href="<?php echo base_url(); ?>Users/login">Login</a></li>
            <li><a href="<?php echo base_url(); ?>Users/register">Register</a></li>
          <?php endif; ?>
            <?php if($this->session->userdata('user_class') == 1) : ?>
            <li><a href="<?php echo base_url(); ?>Users">User List</a></li>
          <? endif; ?>
          <?php if($this->session->userdata('logged_in')) : ?>
            <li><a href="<?php echo base_url(); ?>Bodycontroller/create">Compose</a></li>
            <li><a href="<?php echo base_url(); ?>Users/logout">Logout</a></li>
          <?php endif; ?>
          </ul>
        </div>

我的感觉是,尽管从堆栈溢出复制了绝对相等运算符“ == 1”,但其形式可能不正确。

另一件事:它不是布尔值。一些较早的受访者误解了我的原始问题。 1是一个用户类,而不是2或3。因此,我尝试将其设置为varchar或text数据类型以及一个int,没有运气。

简而言之,它是否需要任何类型的括号或引号(我已经尝试了我已经知道的所有内容)? CodeIgniter手册对此不清楚。在这方面的任何帮助将不胜感激。

0 个答案:

没有答案