在代码点火器中输出图像时出现问题

时间:2017-06-08 03:13:26

标签: php html codeigniter foreach

我是新代码点火器并学习如何在html页面中显示图像。但图像显示文件,但它也显示图像标签alt=""。这是我的代码。

视图/ admin.php的

<div class="row">
        <?php   
            //print_r($images_disp);

            foreach($images_disp as $item=>$val){
        ?>  
                <div class="col-md-3">
                    <img src="<?php echo base_url().''.$val['imagepath'];?>" width="150px" height="150px" alt="'<?php echo $val['name']?>'" >
                </div>
        <?php
            }
        ?>
        </div>

控制器/ AddProduct_controller

 public function index(){
        $sql['images_disp'] = $this->addProduct_model->show_images();
        /* echo "<pre>";
        print_r($sql);
        echo "</pre>"; */
        $this->load->view('admin',$sql);
    }

模型/ AddProduct_model

public function show_images(){
    $query = $this->db->get('db_images');
    $query = $query->result_array();

    return $query;
}

这是下图中的问题 OUTPUT IMAGE

感谢提前

1 个答案:

答案 0 :(得分:0)

在您的方案名称列中包含双引号(“),这会导致echo语句出现问题。双引号会导致alt属性值问题。 用这一行替换你的代码行:

<img src="<?php echo base_url().''.$val['imagepath'];?>" width="150px" height="150px" alt="'<?php echo html_escape($val['name']); ?>'" >

html_escape 将从字符串中转义html字符。 建议: 始终避免直接在数据库中插入引号和其他字符,在插入数据库之前转义用户输入。

在插入转义时用户输入就像这样。

$escaped_str =  $this->db->escape($input_str);

$this->db->escape() 方法将转义字符串中的所有引号。