我是新代码点火器并学习如何在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
答案 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() 方法将转义字符串中的所有引号。