使用Codeigniter在数据库中存储包含PHP脚本的HTML标记

时间:2016-11-26 05:55:35

标签: php html mysql codeigniter

我试图存储包含php脚本的html标签。 这是导航菜单,我试图只显示特定用户角色的菜单。

我以这种方式存储

public function edit_module(){
    $id = $this->input->post('Module_ID', TRUE);
    $update = $this->db->update('ref_modules', array('Module_Name'=>$this->input->post('Module_Name', TRUE), 
                                                    'Module_Menu'=> htmlspecialchars($this->input->post('Module_Menu')),
                                                    'UpdatedBy'=>$this->session->userdata('user_id')), "Module_ID = '$id'");
    if($update){
        return TRUE;
    }
}

显示

 <!--Menu-->
                <!--================================-->
                <div id="mainnav-menu-wrap">
                    <div class="nano">
                        <div class="nano-content">
                            <ul id="mainnav-menu" class="list-group">

                                <!--Category name-->
                                <li class="list-header">Navigation</li>

                                <?php if($this->data['menu']): ?>
                                    <?php foreach($this->data['menu'] as $row): ?>
                                        <?php echo htmlspecialchars_decode($row->Module_Menu); ?>
                                    <?php endforeach; ?>
                                <?php endif; ?>
                            </ul>
                        </div>
                    </div> <!-- nano -->
                </div><!-- mainnav-menu-wrap -->
                <!--================================-->
                <!--End menu-->

当我查看来源时,它很好,但当我点击链接时,会显示特殊字符。

http://localhost/folderName/%3C?php%20echo%20base_url(%27citizens%27);%20?%3E

这是我要插入的示例值

<li class="<?php echo ($title == 'Citizens' ? 'active-link' : '');?>">
                                    <a href="<?php echo base_url('citizens'); ?>">
                                        <i class="fa fa-user"></i>
                                        <span class="menu-title">
                                            <strong>Citizens</strong>
                                        </span>
                                    </a>
                                </li> 

任何想法的人?提前谢谢!

1 个答案:

答案 0 :(得分:0)

将Html插入数据库对于不同的用户角色不是正确的方法。您可以使用if条件为不同的用户角色显示您的菜单。